Congruence(congruence_type, T const&)¶
-
template<typename T>
inline libsemigroups::Congruence::Congruence(congruence_type type, T const &S)¶ Constructs a Congruence over the FroidurePin instance
S
representing a left/right/2-sided congruence according totype
.- Exceptions
Does not throw itself but functions called by this function may throw.
- Complexity
Linear in
S.size()
.
Warning
the parameter
T const& S
is copied, this might be expensive, use a std::shared_ptr to avoid the copy!- Template Parameters
T – a class derived from FroidurePinBase.
- Parameters
type – whether the congruence is left, right, or 2-sided
S – a const reference to the semigroup over which the congruence is defined.