PBR

class PBR

Class for partitioned binary relations (PBR).

Partitioned binary relations (PBRs) are a generalisation of bipartitions, which were introduced by Martin and Mazorchuk.

Member types

initializer_list_type

Type of constructor argument.

vector_type

Type of constructor argument.

Friends

operator<<(std::ostream &,PBR const &)

Insertion operator.

operator<<(std::ostringstream &,PBR const &)

Insertion operator.

Constructors

PBR() = delete

Deleted.

PBR(PBR &&) = default

Default move constructor.

PBR(PBR const &) = default

Default copy constructor.

PBR(initializer_list_type<int32_t>,initializer_list_type<int32_t>)

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

PBR(initializer_list_type<uint32_t>)

Construct from adjacencies 0 to 2n - 1.

PBR(size_t)

Construct empty PBR of given degree .

PBR(vector_type<int32_t>,vector_type<int32_t>)

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

PBR(vector_type<uint32_t>)

Construct from adjacencies 0 to 2n - 1.

operator=(PBR &&) = default

Default move assignment operator.

operator=(PBR const &) = default

Default copy assignment operator.

Static member functions

identity() const

Returns the identity PBR with degree degree() .

identity(size_t)

Returns the identity PBR with specified degree.

make(T...)

Construct and validate.

make(initializer_list_type<int32_t>,initializer_list_type<int32_t>)

Construct and validate.

make(initializer_list_type<uint32_t>)

Construct and validate.

Member functions

degree() const noexcept

Returns the degree of a PBR .

hash_value() const

Returns a hash value for a PBR .

operator<(PBR const &) const

Compare.

operator==(PBR const &) const

Check equality.

operator[](size_t)

Returns a reference to the points adjacent to a given point.

operator[](size_t) const

Returns a const reference to the points adjacent to a given point.

product_inplace(PBR const &,PBR const &,size_t)

Multiply two PBR objects and store the product in this.