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 from 0 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 from 0 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 point i under the partial transformation is the value in position i of the container cont.

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 exceeds cont.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

make