| ▼Nlibsemigroups | Namespace for everything in the libsemigroups library |
| CBipartition | Class for bipartitions |
| CBlocks | Class for signed partitions of the set \(\{0, \ldots, n - 1\}\) |
| CBooleanMat | Matrices over the boolean semiring |
| CBooleanSemiring | The usual Boolean semiring |
| CCongruence | Class for congruence on a semigroup or fintely presented semigroup |
| ▼CElement | Abstract base class for semigroup elements |
| CEqual | Provides a call operator for comparing Elements via pointers |
| CHash | Provides a call operator returning a hash value for an Element via a pointer |
| CElementWithVectorData | Abstract base class for elements using a vector to store their defining data |
| CElementWithVectorDataDefaultHash | Abstract base class for elements using a vector to store their defining data and the default hash function for that underlying vector |
| CIntegers | The usual ring of integers |
| CMatrixOverSemiring | Matrices over a semiring |
| CMatrixOverSemiringBase | Matrices over a semiring |
| CMaxPlusSemiring | The 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 |
| CMinPlusSemiring | The min-plus semiring consists of the integers together with infinity with operations min and plus. Infinity is represented by Semiring<int64_t>::INFTY |
| CNaturalSemiring | This 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\) |
| CPartialPerm | Template class for partial permutations |
| CPartialTransformation | Abstract class for partial transformations |
| CPartition | Class for partitions of a set used by Congruence::nontrivial_classes |
| CPBR | Class for partitioned binary relations (PBR) |
| CProjectiveMaxPlusMatrix | Class for projective max-plus matrices |
| CReductionOrdering | This class provides a call operator which can be used to compare libsemigroups::rws_word_t |
| ▼CRWS | This class is used to represent a string rewriting system defining a finitely presented monoid or semigroup |
| CRule | Class for rules in rewriting systems, which supports only two methods, Rule::lhs and Rule::rhs, which return the left and right hand sides of the rule |
| CRWSE | Subclass of Element that wraps an libsemigroups::rws_word_t |
| CSemigroup | Class for semigroups generated by instances of Element |
| CSemiring | This class its subclasses provide very basic functionality for creating semirings |
| CSemiringWithThreshold | This abstract class provides common methods for its subclasses TropicalMaxPlusSemiring, TropicalMinPlusSemiring, and NaturalSemiring |
| CSHORTLEX | This class implements the shortlex reduction ordering derived from an ordering on libsemigroups::rws_letter_t's |
| CTransformation | Template class for transformations |
| CTropicalMaxPlusSemiring | The 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 |
| CTropicalMinPlusSemiring | The 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 |