FpSemigroup(std::shared_ptr<FroidurePinBase>)

explicit 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.