libsemigroups
Class Hierarchy

Go to the graphical class hierarchy

This inheritance list is sorted roughly, but not completely, alphabetically:
[detail level 123456]
 Clibsemigroups::BlocksClass for signed partitions of the set \(\{0, \ldots, n - 1\}\)
 Clibsemigroups::CongruenceClass for congruence on a semigroup or fintely presented semigroup
 Clibsemigroups::ElementAbstract base class for semigroup elements
 Clibsemigroups::ElementWithVectorData< bool, BooleanMat >
 Clibsemigroups::ElementWithVectorDataDefaultHash< bool, BooleanMat >
 Clibsemigroups::MatrixOverSemiringBase< bool, BooleanMat >
 Clibsemigroups::BooleanMatMatrices over the boolean semiring
 Clibsemigroups::ElementWithVectorData< int64_t, ProjectiveMaxPlusMatrix >
 Clibsemigroups::ElementWithVectorDataDefaultHash< int64_t, ProjectiveMaxPlusMatrix >
 Clibsemigroups::MatrixOverSemiringBase< int64_t, ProjectiveMaxPlusMatrix >
 Clibsemigroups::ProjectiveMaxPlusMatrixClass for projective max-plus matrices
 Clibsemigroups::ElementWithVectorData< std::vector< u_int32_t >, PBR >
 Clibsemigroups::PBRClass for partitioned binary relations (PBR)
 Clibsemigroups::ElementWithVectorData< T, PartialPerm< T > >
 Clibsemigroups::ElementWithVectorDataDefaultHash< T, PartialPerm< T > >
 Clibsemigroups::PartialTransformation< T, PartialPerm< T > >
 Clibsemigroups::PartialPerm< T >Template class for partial permutations
 Clibsemigroups::ElementWithVectorData< T, Transformation< T > >
 Clibsemigroups::ElementWithVectorDataDefaultHash< T, Transformation< T > >
 Clibsemigroups::PartialTransformation< T, Transformation< T > >
 Clibsemigroups::Transformation< T >Template class for transformations
 Clibsemigroups::Permutation< T >Template class for permutations
 Clibsemigroups::ElementWithVectorData< TValueType, MatrixOverSemiring< TValueType > >
 Clibsemigroups::ElementWithVectorDataDefaultHash< TValueType, MatrixOverSemiring< TValueType > >
 Clibsemigroups::MatrixOverSemiringBase< TValueType, MatrixOverSemiring< TValueType > >
 Clibsemigroups::MatrixOverSemiring< TValueType >Matrices over a semiring
 Clibsemigroups::ElementWithVectorData< u_int32_t, Bipartition >
 Clibsemigroups::ElementWithVectorDataDefaultHash< u_int32_t, Bipartition >
 Clibsemigroups::BipartitionClass for bipartitions
 Clibsemigroups::ElementWithVectorData< TValueType, TSubclass >Abstract base class for elements using a vector to store their defining data
 Clibsemigroups::ElementWithVectorDataDefaultHash< TValueType, TSubclass >Abstract base class for elements using a vector to store their defining data and the default hash function for that underlying vector
 Clibsemigroups::MatrixOverSemiringBase< TValueType, TSubclass >Matrices over a semiring
 Clibsemigroups::PartialTransformation< TValueType, TSubclass >Abstract class for partial transformations
 Clibsemigroups::RWSESubclass of Element that wraps an libsemigroups::rws_word_t
 Clibsemigroups::Element::EqualProvides a call operator for comparing Elements via pointers
 Clibsemigroups::Element::HashProvides a call operator returning a hash value for an Element via a pointer
 Clibsemigroups::Partition< T >Class for partitions of a set used by Congruence::nontrivial_classes
 Clibsemigroups::ReductionOrderingThis class provides a call operator which can be used to compare libsemigroups::rws_word_t
 Clibsemigroups::SHORTLEXThis class implements the shortlex reduction ordering derived from an ordering on libsemigroups::rws_letter_t's
 Clibsemigroups::RWSThis class is used to represent a string rewriting system defining a finitely presented monoid or semigroup
 Clibsemigroups::SemigroupClass for semigroups generated by instances of Element
 Clibsemigroups::Semiring< T >This class its subclasses provide very basic functionality for creating semirings
 Clibsemigroups::Semiring< bool >
 Clibsemigroups::BooleanSemiringThe usual Boolean semiring
 Clibsemigroups::Semiring< int64_t >
 Clibsemigroups::IntegersThe usual ring of integers
 Clibsemigroups::MaxPlusSemiringThe max-plus semiring consists of the integers together with negative infinity with operations max and plus. Negative infinity is represented by Semiring<int64_t>::MINUS_INFTY
 Clibsemigroups::MinPlusSemiringThe min-plus semiring consists of the integers together with infinity with operations min and plus. Infinity is represented by Semiring<int64_t>::INFTY
 Clibsemigroups::SemiringWithThresholdThis abstract class provides common methods for its subclasses TropicalMaxPlusSemiring, TropicalMinPlusSemiring, and NaturalSemiring
 Clibsemigroups::NaturalSemiringThis class implements the semiring consisting of \(\{0, 1, ..., t, t + 1, ..., t + p - 1\}\) for some threshold \(t\) and period \(p\) with operations addition and multiplication modulo the congruence \(t = t + p\)
 Clibsemigroups::TropicalMaxPlusSemiringThe tropical max-plus semiring consists of the integers \(\{0, \ldots , t\}\) for some value \(t\) (called the threshold of the semiring) and \(-\infty\). Negative infinity is represented by Semiring<int64_t>::MINUS_INFTY
 Clibsemigroups::TropicalMinPlusSemiringThe tropical min-plus semiring consists of the integers \(\{0, \ldots , t\}\) for some value \(t\) (called the threshold of the semiring) and \(\infty\). Infinity is represented by Semiring<int64_t>::INFTY
 Clibsemigroups::Semiring< TValueType >