DynamicPTransf

template<typename Scalar>
class DynamicPTransf : public libsemigroups::detail::PTransfBase<Scalar, std::vector<Scalar>>

Defined in transf.hpp.

Dynamic partial transformations.

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

Template Parameters:

Scalar – a 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

DynamicPTransf(size_t)

Construct with given degree.

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 and accessors

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.

increase_degree_by(size_t)

Increase the degree in-place.

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.

swap(PTransfBase &) noexcept

Swap with another partial transformation.

Iterators

begin() const noexcept

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

end() noexcept

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

Operators

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.

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”.