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.
Functions | |
| Congruence () | |
| Default constructor. | |
| Congruence (Congruence &&) | |
| Move constructor. | |
| Congruence (Congruence const &) | |
| Copy constructor. | |
| Congruence (congruence_kind knd, Presentation< Word > const &p) | |
| Construct from congruence_kind and Presentation. | |
| Congruence & | init () |
| Re-initialize a Congruence instance. | |
| Congruence & | init (congruence_kind knd, Presentation< Word > const &p) |
| Re-initialize a Congruence instance. | |
| Congruence & | operator= (Congruence &&) |
| Move assignment operator. | |
| Congruence & | operator= (Congruence const &) |
| Copy assignment operator. | |
| template<typename Iterator1, typename Iterator2> | |
| void | throw_if_letter_not_in_alphabet (Iterator1 first, Iterator2 last) const |
| Throws if any letter in a range is out of bounds. | |
| Congruence | ( | ) |
This function default constructs an uninitialised Congruence instance.
| Congruence | ( | Congruence< Word > && | ) |
Move constructor.
| Congruence | ( | Congruence< Word > const & | ) |
Copy constructor.
|
inline |
This function constructs a Congruence instance representing a congruence of kind knd over the semigroup or monoid defined by the presentation p.
| knd | the kind (onesided or twosided) of the congruence. |
| p | the presentation. |
| LibsemigroupsException | if p is not valid. |
| Congruence & init | ( | ) |
This function puts a Congruence instance back into the state that it would have been in if it had just been newly default constructed.
| Congruence & init | ( | congruence_kind | knd, |
| Presentation< Word > const & | p ) |
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.
| knd | the kind (onesided or twosided) of the congruence. |
| p | the presentation. |
| LibsemigroupsException | if p is not valid. |
| Congruence & operator= | ( | Congruence< Word > && | ) |
Move assignment operator.
| Congruence & operator= | ( | Congruence< Word > const & | ) |
Copy assignment operator.
| 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).
| Iterator1 | the type of first argument first. |
| Iterator2 | the type of second argument last. |
| first | iterator pointing at the first letter of the word. |
| last | iterator pointing one beyond the last letter of the word. |
| LibsemigroupsException | if any letter in the range from first to last is out of bounds. |