CongruenceByPairsHelper(congruence_type, T const&)¶
-
template<typename T>
inline libsemigroups::CongruenceByPairsHelper::CongruenceByPairsHelper(congruence_type type, T const &S)¶ Construct a CongruenceByPairsHelper over the FroidurePin instance
fp
representing a left/right/2-sided congruence according totype
.- Complexity
Constant.
Warning
The parameter
T& S
is copied, this might be expensive, use a std::shared_ptr to avoid the copy!- Template Parameters
T – a class derived from FroidurePinBase. It is required that
T::element_type
is the same as CongruenceByPairsHelper::element_type (which is the same as the template parameterelement_type
).- Parameters
type – whether the congruence is left, right, or 2-sided
S – a reference to the semigroup over which the congruence is defined.
- Throws
LibsemigroupsException – if
type
and the template parameterT
are incompatible. Currently, this is whentype
is notcongruence_type::right
andT::element_type
is TCE.