CongruenceByPairsHelper(congruence_type, T const&)¶
-
template<typename
T>libsemigroups::CongruenceByPairsHelper::CongruenceByPairsHelper(congruence_type type, T const &S)¶ Construct a CongruenceByPairsHelper over the FroidurePin instance
fprepresenting a left/right/2-sided congruence according totype.- Complexity
Constant.
- Warning
The parameter
T& Sis 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 thatT::element_typeis 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-sidedS: a reference to the semigroup over which the congruence is defined.
- Exceptions
LibsemigroupsException: iftypeand the template parameterTare incompatible. Currently, this is whentypeis notcongruence_type::rightandT::element_typeis TCE.