This page documents the constructors and initialisers for the Congruence class.
Every constructor (except the move + copy constructors, and the move and copy assignment operators) has a matching init
function with the same signature that can be used to re-initialize a Congruence instance as if it had just been constructed; but without necessarily releasing any previous allocated memory.
◆ Congruence() [1/4]
This function default constructs an uninitialised Congruence instance.
◆ Congruence() [2/4]
template<typename Word>
Congruence |
( |
Congruence< Word > && | | ) |
|
◆ Congruence() [3/4]
template<typename Word>
Congruence |
( |
Congruence< Word > const & | | ) |
|
◆ Congruence() [4/4]
This function constructs a Congruence instance representing a congruence of kind knd
over the semigroup or monoid defined by the presentation p
.
- Parameters
-
knd | the kind (onesided or twosided) of the congruence. |
p | the presentation. |
- Exceptions
-
◆ init() [1/2]
This function puts a Congruence instance back into the state that it would have been in if it had just been newly default constructed.
- Returns
- A reference to
*this
.
- Exceptions
- This function guarantees not to throw a LibsemigroupsException.
◆ init() [2/2]
This function puts a Congruence instance back into the state that it would have been in if it had just been newly constructed from knd
and p
.
- Parameters
-
knd | the kind (onesided or twosided) of the congruence. |
p | the presentation. |
- Returns
- A reference to
*this
.
- Exceptions
-
◆ operator=() [1/2]
Move assignment operator.
◆ operator=() [2/2]
Copy assignment operator.
◆ throw_if_letter_not_in_alphabet()
template<typename Word>
template<typename Iterator1, typename Iterator2>
void throw_if_letter_not_in_alphabet |
( |
Iterator1 | first, |
|
|
Iterator2 | last ) const |
This function throws a LibsemigroupsException if any value pointed at by an iterator in the range first
to last
is out of bounds (i.e. does not belong to the alphabet of the presentation used to construct the Congruence instance).
- Template Parameters
-
Iterator1 | the type of first argument first . |
Iterator2 | the type of second argument last . |
- Parameters
-
first | iterator pointing at the first letter of the word. |
last | iterator pointing one beyond the last letter of the word. |
- Exceptions
-