FpSemigroup(std::shared_ptr<FroidurePinBase>)

libsemigroups::FpSemigroup::FpSemigroup(std::shared_ptr<FroidurePinBase> S)

Construct an FpSemigroup isomorphic to the FroidurePin instance S.

Exceptions

This function guarantees not to throw a LibsemigroupsException.

Complexity

Constant.

Note

The FroidurePinBase pointed to by S is not copied.

Parameters
  • S: a shared_ptr to the semigroup isomorphic to the finitely presented semigroup being defined.