StaticPTransf

template<size_t N, typename Scalar>
class StaticPTransf : public libsemigroups::detail::PTransfBase<Scalar, std::array<Scalar, N>>

Defined in transf.hpp.

Static partial transformations.

This is a class for partial transformations where the number of points acted on (the degree) is set at compile time.

Template Parameters

Scalar – an unsigned integer type.

Member types

const_iterator

Type of const iterators point to image values.

container_type

Type of the underlying container.

iterator

Type of iterators point to image values.

value_type

Type of the image values.

Constructors

StaticPTransf(size_t)

Default constructor.

Static member functions

identity() const

Returns the identity transformation on degree() points.

identity(size_t)

Returns the identity transformation on the given number of points.

make(TContainerAgain &&)

Construct from a container and validates.

make(std::initializer_list< value_type > const &)

Construct from an initializer list.

Modifiers

increase_degree_by(size_t)

Increase the degree in-place.

swap(PTransfBase &) noexcept

Swap with another partial transformation.

Iterators

begin() const noexcept

Returns a const_iterator (random access iterator) pointing at the first image value.

begin() noexcept

Returns an iterator (random access iterator) pointing at the first image value.

cbegin() const noexcept

Returns a const_iterator (random access iterator) pointing at the first image value.

cend() const noexcept

Returns a const_iterator (random access iterator) pointing one past the last image value.

end() const noexcept

Returns a const_iterator (random access iterator) pointing one past the last image value.

end() noexcept

Returns an iterator (random access iterator) pointing one past the last image value.

Operators

at(size_t)

Get a reference to the image of a point.

at(size_t) const

Get a const reference to the image of a point.

operator!=(PTransfBase const &) const

Compare for inequality.

operator*(TSubclass const &) const

Multiply by another partial transformation.

operator<(PTransfBase const &) const

Compare for less.

operator<=(PTransfBase const &) const

Compare for less than or equal.

operator==(PTransfBase const &) const

Compare for equality.

operator>(PTransfBase const &) const

Compare for greater.

operator>=(PTransfBase const &) const

Compare for greater than or equal.

operator[](size_t)

Get a reference to the image of a point.

operator[](size_t) const

Get a const reference to the image of a point.

Other member functions

degree() const noexcept

Returns the degree of a partial transformation.

hash_value() const

Returns a hash value.

rank() const

Returns the number of distinct image values.

undef() noexcept

Returns the value used to represent “undefined”.