Constructors

This page contains information about the constructors for the Bipartition class.

libsemigroups::Bipartition::Bipartition()

Constructs an uninitialised bipartition of degree 0.

libsemigroups::Bipartition::Bipartition(Bipartition const&)

Default copy constructor.

libsemigroups::Bipartition::Bipartition(Bipartition&&)

Default move constructor.

explicit libsemigroups::Bipartition::Bipartition(size_t N)

Constructs an uninitialised bipartition of given degree.

Parameters

N – the degree of the bipartition.

libsemigroups::Bipartition::Bipartition(std::initializer_list<uint32_t> const &blocks)

Constructs a bipartition from an initializer list blocks lookup.

Parameters

blocks – a lookup for the blocks of the bipartition being constructed.

explicit libsemigroups::Bipartition::Bipartition(std::vector<uint32_t> const &blocks)

Constructs a bipartition from a const reference to blocks lookup.

The parameter blocks:

  • is copied;

  • must have length \(2n\) for some positive integer \(n\);

  • consist of non-negative integers; and

  • have the property that if \(i\), \(i > 0\) occurs in blocks, then \(i - 1\) occurs earlier in blocks. The value of block[i] should represent the index of the block containing i.

None of the conditions above is verified.

Parameters

blocks – a lookup for the blocks of the bipartition being constructed.

explicit libsemigroups::Bipartition::Bipartition(std::vector<uint32_t> &&blocks)

Constructs a bipartition from an rvalue reference to blocks lookup.

Parameters

blocks – a lookup for the blocks of the bipartition being constructed.

Bipartition &libsemigroups::Bipartition::operator=(Bipartition const&)

Default copy assignment operator.

Bipartition &libsemigroups::Bipartition::operator=(Bipartition&&)

Default move assignment operator.