Constructors¶
This page contains information about the constructors for the ToddCoxeter
class.

libsemigroups::congruence::ToddCoxeter::ToddCoxeter(ToddCoxeter const &that)¶
Copy constructor.
Constructs a complete copy of
that
, including all of the settings, table, defining relations, and generating pairs. Parameters
that – the ToddCoxeter instance to copy.
 Throws
(None) – This function guarantees not to throw a
LibsemigroupsException
.

explicit libsemigroups::congruence::ToddCoxeter::ToddCoxeter(congruence_kind knd)¶
Construct from kind (left/right/2sided).
This constructor creates a new ToddCoxeter instance representing a left, right, or twosided congruence specified by the given congruence_kind.
 Parameters
knd – the handedness (left/right/2sided) of the congruence
 Throws
(None) – This function guarantees not to throw a
LibsemigroupsException
.

template<typename T>
inline libsemigroups::congruence::ToddCoxeter::ToddCoxeter(congruence_kind knd, T const &S)¶ Construct from kind (left/right/2sided) and FroidurePin or FpSemigroupInterface.
This constructor creates a new ToddCoxeter instance representing a left, right, or twosided congruence over the semigroup represented by a FroidurePin object or instance of a class derived from FpSemigroupInterface.
Warning
The parameter
S
is copied, this might be expensive, use a std::shared_ptr to avoid the copy! Template Parameters
T – a type derived from FroidurePinBase or FpSemigroupInterface
 Parameters
knd – the handedness (left/right/2sided) of the congruence
S – the underlying semigroup of the congruence.
 Throws
(None) – This function guarantees not to throw a
LibsemigroupsException
.

libsemigroups::congruence::ToddCoxeter::ToddCoxeter(congruence_kind knd, ToddCoxeter &tc)¶
Construct from kind (left/right/2sided) and ToddCoxeter.
This constructor creates a new ToddCoxeter instance representing a left, right, or twosided congruence over the quotient semigroup represented by a ToddCoxeter instance.
 Parameters
knd – the handedness (left/right/2sided) of the congruence
tc – the ToddCoxeter representing the underlying semigroup
 Throws
LibsemigroupsException – if
tc
is a left, or right, congruence, andknd
is not left, or not right, respectively.

libsemigroups::congruence::ToddCoxeter::ToddCoxeter(congruence_kind knd, fpsemigroup::KnuthBendix &kb)¶
Construct from kind (left/right/2sided) and KnuthBendix.
A constructor that creates a new ToddCoxeter instance representing a left, right, or twosided congruence over the semigroup represented by a fpsemigroup::KnuthBendix instance.
 Parameters
knd – the handedness (left/right/2sided) of the congruence
kb – the KnuthBendix representing the underlying semigroup
 Throws
(None) – This function guarantees not to throw a
LibsemigroupsException
.

libsemigroups::congruence::ToddCoxeter::ToddCoxeter(congruence_kind knd, fpsemigroup::ToddCoxeter &tc)¶
Construct from kind (left/right/2sided) and ToddCoxeter.
This constructor creates a new ToddCoxeter instance representing a left, right, or twosided congruence over the semigroup represented by a libsemigroups::fpsemigroup::ToddCoxeter instance.
 Parameters
knd – the handedness (left/right/2sided) of the congruence
tc – the ToddCoxeter representing the underlying semigroup
 Throws
(None) – This function guarantees not to throw a
LibsemigroupsException
.
Construct from kind (left/right/2sided), shared pointer to FroidurePinBase, and options.
This constructor creates a new ToddCoxeter instance representing a left, right, or twosided congruence over the semigroup represented by a shared pointer to a FroidurePin object.
 Parameters
knd – the type of the congruence being constructed
fp – a std::shared_ptr to a FroidurePinBase, this parameter is not copied by this constructor.
p – the options::froidure_pin to use (default: options::froidure_pin::use_cayley_graph).
 Throws
(None) – This function guarantees not to throw a
LibsemigroupsException
.