This file contains functionality for various types used in libsemigroups
.
|
template<typename Given, typename Expected> |
using | enable_if_is_same = std::enable_if_t<std::is_same_v<Given, Expected>, Expected> |
| Alias equal to the second template parameter if both template parameters are equal.
|
|
using | letter_type = size_t |
| Type for the index of a generator of a semigroup.
|
|
using | relation_type = std::pair<word_type, word_type> |
| Type for a pair of word_type (a relation) of a semigroup.
|
|
using | word_type = std::vector<letter_type> |
| Type for a word over the generators of a semigroup.
|
|
◆ enable_if_is_same
template<typename Given, typename Expected>
using enable_if_is_same = std::enable_if_t<std::is_same_v<Given, Expected>, Expected> |
Alias equal to the second template parameter if both template parameters are equal.
◆ congruence_kind
The values in this enum can be used to indicate that a congruence should be 2-sided, left, or right.
Enumerator |
---|
onesided | Value representing a one-sided congruence.
|
twosided | Value representing a two-sided congruence.
|
◆ Order
enum class Order : uint8_t |
|
strong |
The values in this enum can be used as the arguments for functions such as standardize(Order) or order(Order) to specify which ordering should be used. The normal forms for congruence classes are given with respect to one of the orders specified by the values in this enum.
- See also
- Orders
Enumerator |
---|
none | No ordering.
|
shortlex | The short-lex ordering. Words are first ordered by length, and then lexicographically.
|
lex | The lexicographic ordering. Note that this is not a well-order, so there may not be a lexicographically least word in a given congruence class of words.
|
recursive | The recursive-path ordering, as described in [37] (Definition 1.2.14, page 24).
|
◆ side
The values in this enum can be used as a template parameter for the Action class to specify whether the action of the Action is a left or right action.
- See also
- Actions
Enumerator |
---|
left | This value indicates that the action in an Action instance should be a left action.
|
right | This value indicates that the action in an Action instance should be a right action.
|
◆ tril
The values in this enum can be used to indicate a result is true, false, or not currently knowable.
Enumerator |
---|
FALSE | Value representing false.
|
TRUE | Value representing true.
|
unknown | Value representing unknown (either true or false).
|