Congruence(congruence_type, std::shared_ptr<FroidurePinBase>)

libsemigroups::Congruence::Congruence(congruence_type type, std::shared_ptr<FroidurePinBase> S)

Constructs a Congruence over the FroidurePin instance S representing a left/right/2-sided congruence according to type.

Exceptions

Does not throw itself but functions called by this function may throw.

Complexity

Constant.

Note

The FroidurePinBase pointed to by S is not copied.

Parameters
  • type – whether the congruence is left, right, or 2-sided

  • S – a shared_ptr to the semigroup over which the congruence is defined.