Constructors

This page lists the constructors of PBR.

libsemigroups::PBR::PBR() = delete

Deleted.

libsemigroups::PBR::PBR(PBR&&) = default

Default move constructor.

libsemigroups::PBR::PBR(PBR const&) = default

Default copy constructor.

libsemigroups::PBR::PBR(initializer_list_type<int32_t> left, initializer_list_type<int32_t> right)

Construct from adjancencies 1 to n and -1 to -n.

The parameters left and right should be containers of \(n\) vectors of integer values, so that the vector in position \(i\) of left is the list of points adjacent to \(i\) in the PBR, and the vector in position \(i\) of right is the list of points adjacent to \(n + i\) in the PBR. A negative value \(i\) corresponds to \(n - i\).

Warning

No checks whatsoever on the validity of left or right are performed.

Parameters
  • left – container of adjacencies of 1 to n

  • right – container of adjacencies of n + 1 to 2n.

Throws

(None) – This function guarantees not to throw a LibsemigroupsException.

explicit libsemigroups::PBR::PBR(initializer_list_type<uint32_t> x)

Construct from adjacencies 0 to 2n - 1.

The parameter x must be a container of vectors of uint32_t with size \(2n\) for some integer \(n\), the vector in position \(i\) is the list of points adjacent to \(i\) in the PBR constructed.

Warning

No checks whatsoever on the validity of x are performed.

Parameters

x – the container of vectors of adjacencies.

Throws

(None) – This function guarantees not to throw a LibsemigroupsException.

explicit libsemigroups::PBR::PBR(size_t n)

Construct empty PBR of given degree.

Parameters

n – the degree

Throws

(None) – This function guarantees not to throw a LibsemigroupsException.

libsemigroups::PBR::PBR(vector_type<int32_t> left, vector_type<int32_t> right)

Construct from adjancencies 1 to n and -1 to -n.

The parameters left and right should be containers of \(n\) vectors of integer values, so that the vector in position \(i\) of left is the list of points adjacent to \(i\) in the PBR, and the vector in position \(i\) of right is the list of points adjacent to \(n + i\) in the PBR. A negative value \(i\) corresponds to \(n - i\).

Warning

No checks whatsoever on the validity of left or right are performed.

Parameters
  • left – container of adjacencies of 1 to n

  • right – container of adjacencies of n + 1 to 2n.

Throws

(None) – This function guarantees not to throw a LibsemigroupsException.

explicit libsemigroups::PBR::PBR(vector_type<uint32_t> x)

Construct from adjacencies 0 to 2n - 1.

The parameter x must be a container of vectors of uint32_t with size \(2n\) for some integer \(n\), the vector in position \(i\) is the list of points adjacent to \(i\) in the PBR constructed.

Warning

No checks whatsoever on the validity of x are performed.

Parameters

x – the container of vectors of adjacencies.

Throws

(None) – This function guarantees not to throw a LibsemigroupsException.

PBR &libsemigroups::PBR::operator=(PBR&&) = default

Default move assignment operator.

PBR &libsemigroups::PBR::operator=(PBR const&) = default

Default copy assignment operator.