Static member functions¶
-
inline TSubclass libsemigroups::StaticPTransf::identity() const¶
Returns the identity transformation on degree() points.
This function returns a newly constructed partial transformation with degree equal to the degree of
this
that fixes every value from0
to degree().- Parameters
(None)
- Template Parameters
TSubclass – A class derived from libsemigroups::PTransfPolymorphicBase.
- Throws
(None) – This function is
noexcept
and is guaranteed never to throw.- Returns
A value of type
TSubclass
.
-
static inline TSubclass libsemigroups::StaticPTransf::identity(size_t N)¶
Returns the identity transformation on the given number of points.
This function returns a newly constructed partial transformation with degree equal to the degree of
this
that fixes every value from0
to degree().- Parameters
(None)
- Template Parameters
TSubclass – A class derived from libsemigroups::PTransfPolymorphicBase.
- Throws
(None) – This function is
noexcept
and is guaranteed never to throw.- Returns
A value of type
TSubclass
.
-
static inline TSubclass libsemigroups::StaticPTransf::make(TContainerAgain &&cont)¶
Construct from a container and validates.
Constructs an partial transformation initialized using the container
cont
as follows: the image of the pointi
under the partial transformation is the value in positioni
of the containercont
.- Complexity
Linear in the size 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()
and is not equal to libsemigroups::UNDEFINED.
-
static inline TSubclass libsemigroups::StaticPTransf::make(std::initializer_list<value_type> const &cont)¶
Construct from an initializer list.
See also