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\).

Exceptions

This function guarantees not to throw a LibsemigroupsException.

See

libsemigroups::validate(PBR const&) and make(initializer_list_type<int32_t>, initializer_list_type<int32_t>)

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.

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.

Exceptions

This function guarantees not to throw a LibsemigroupsException.

See

libsemigroups::validate(PBR const&)

Warning

No checks whatsoever on the validity of x are performed.

Parameters

x – the container of vectors of adjacencies.

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

Construct empty PBR of given degree.

Exceptions

This function guarantees not to throw a LibsemigroupsException.

Parameters

n – the degree

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

Construct from adjancencies 1 to n and -1 to -n. NOLINT(whitespace/line_length)

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\).

Exceptions

This function guarantees not to throw a LibsemigroupsException.

See

libsemigroups::validate(PBR const&) and make(initializer_list_type<int32_t>, initializer_list_type<int32_t>) NOLINT(whitespace/line_length)

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.

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.

Exceptions

This function guarantees not to throw a LibsemigroupsException.

See

libsemigroups::validate(PBR const&)

Warning

No checks whatsoever on the validity of x are performed.

Parameters

x – the container of vectors of adjacencies.

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

Default move assignment operator.

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

Default copy assignment operator.