Constructors¶
-
libsemigroups::FpSemigroup::FpSemigroup()¶
Default construct an FpSemigroup.
- Complexity
Constant.
- Parameters
(None)
- Throws
(None) – This function guarantees not to throw a
LibsemigroupsException
.
-
libsemigroups::FpSemigroup::FpSemigroup(FpSemigroup const&) = default¶
Default copy constructor.
-
template<typename T>
inline explicit libsemigroups::FpSemigroup::FpSemigroup(T const &S)¶ Construct an FpSemigroup isomorphic to the FroidurePin instance
S
.- Complexity
Linear in
S.size()
.
Warning
the parameter
T const& S
is copied, this might be expensive, use a std::shared_ptr to avoid the copy!- Template Parameters
T – a class derived from FroidurePinBase.
- Parameters
S – a const reference to the semigroup isomorphic to the one being constructed.
- Throws
(None) – This function guarantees not to throw a
LibsemigroupsException
.
Construct an FpSemigroup isomorphic to the FroidurePin instance
S
.- 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.
- Throws
(None) – This function guarantees not to throw a
LibsemigroupsException
.