Static member functions¶
-
inline Transf libsemigroups::Transf::identity() const¶
Returns the identity transformation on degree() points.
This function returns a newly constructed transformation with degree equal to the degree of
this
that fixes every value from0
to degree().- Parameters
(None)
- Throws
(None) – This function guarantees not to throw a
LibsemigroupsException
.- Returns
A value of type
Transf
.
-
static inline Transf libsemigroups::Transf::identity(size_t M)¶
Returns the identity transformation on the given number of points.
This function returns a newly constructed transformation with degree equal to
M
that fixes every value from0
toM
.- Parameters
M – the degree.
- Throws
(None) – This function guarantees not to throw a
LibsemigroupsException
.(None) – This function guarantees not to throw a
LibsemigroupsException
.
- Returns
A value of type
Transf
.
-
template<typename T>
static inline Transf libsemigroups::Transf::make(T &&cont)¶ Construct from a container and validate.
Constructs an transformation initialized using the container
cont
as follows: the image of the pointi
under the transformation is the value in positioni
of the containercont
.- Complexity
Linear in the size of the container
cont
.
- Template Parameters
T – the type of the container
cont
.- Parameters
cont – the container.
- Throws
LibsemigroupsException – if any of the following hold:
the size of
cont
is incompatible with container_type.any value in
cont
exceedscont.size()
or is equal to UNDEFINED.
-
static inline Transf libsemigroups::Transf::make(std::initializer_list<value_type> &&cont)¶
Construct from a container and validate.
See also