Constructors

This page contains information about the constructors for the,CongruenceWrapper class.

inline libsemigroups::CongruenceWrapper::CongruenceWrapper()

Default constructor.

Parameters

(None)

Throws

(None) – Throws if the constructor of the wrapped_type that this wraps throws.

inline libsemigroups::CongruenceWrapper::CongruenceWrapper(CongruenceWrapper const &other)

Default copy constructor.

libsemigroups::CongruenceWrapper::CongruenceWrapper(CongruenceWrapper&&) = default

Deleted.

template<typename S>
inline explicit libsemigroups::CongruenceWrapper::CongruenceWrapper(S const &fp)

Constructor from a const reference to a FroidurePinBase.

Warning

The parameter fp is copied by this constructor, this might be expensive, use CongruenceWrapper(std::shared_ptr<FroidurePinBase>) to avoid this copy.

Template Parameters

S – a derived class of FroidurePinBase

Parameters

fp – the S isomorphic to the finitely presented semigroup represented by this.

Throws

(None) – Throws if the constructor of the wrapped_type that this wraps throws.

inline explicit libsemigroups::CongruenceWrapper::CongruenceWrapper(std::shared_ptr<FroidurePinBase> fp)

Constructor from a std::shared_ptr to a FroidurePinBase.

Note

The FroidurePinBase pointed to by the parameter fp is not copied by this constructor.

Parameters

fp – the FroidurePinBase isomorphic to the finitely presented semigroup represented by this.

Throws

(None) – Throws if the constructor of the wrapped_type that this wraps throws.