Types

libsemigroups contains some type aliases, which are described in this section.

enum libsemigroups::tril

The values in this enum can be used to indicate a result is true, false, or not currently knowable.

Values:

enumerator FALSE

Value representing false.

enumerator TRUE

Value representing true.

enumerator unknown

Value representing unknown (either true or false).

using libsemigroups::letter_type = size_t

Type for the index of a generator of a semigroup.

using libsemigroups::word_type = std::vector<letter_type>

Type for a word over the generators of a semigroup.

using libsemigroups::relation_type = std::pair<word_type, word_type>

Type for a pair of word_type (a relation) of a semigroup.

template<size_t N>
struct SmallestInteger

Provides a type giving the smallest unsigned integer type capable of representing the template N.

The member type contains the smallest (in terms of memory required) unsigned integer type which can represent the non-negative integer N.