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 from 0 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 from 0 to M.

Parameters

M – the degree.

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

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

make