Alphabet + letters¶
This page contains information about the functionality for manipulating the alphabet of a Presentation object.
-
inline word_type const &libsemigroups::Presentation::alphabet() const noexcept¶
Returns the alphabet of the presentation.
- Throws
(None) – This function is
noexceptand is guaranteed never to throw.- Parameters
(None) –
- Returns
A const reference to Presentation::word_type
-
Presentation &libsemigroups::Presentation::alphabet(size_type n)¶
Set the alphabet by size.
Sets the alphabet to the range \([0, n)\) consisting of values of type letter_type
- See
Warning
No checks are performed by this function, in particular, it is not verified that the rules in the presentation (if any) consist of letters belonging to the alphabet
- Parameters
n – the size of the alphabet
- Throws
(None) – This function guarantees not to throw a LibsemigroupsException.
- Returns
A const reference to
*this
-
Presentation &libsemigroups::Presentation::alphabet(word_type const &lphbt)¶
Set the alphabet const reference.
Sets the alphabet to be the letters in
lphbt.- See
Warning
This function does not verify that the rules in the presentation (if any) consist of letters belonging to the alphabet
- Parameters
lphbt – the alphabet
- Throws
LibsemigroupsException – if there are duplicate letters in
lphbt- Returns
A const reference to
*this
-
Presentation &libsemigroups::Presentation::alphabet(word_type &&lphbt)¶
Set the alphabet from rvalue reference.
Sets the alphabet to be the letters in
lphbt.- See
Warning
This function does not verify that the rules in the presentation (if any) consist of letters belonging to the alphabet
- Parameters
lphbt – the alphabet
- Throws
LibsemigroupsException – if there are duplicate letters in
lphbt- Returns
A const reference to
*this
-
Presentation &libsemigroups::Presentation::alphabet_from_rules()¶
Set the alphabet to be the letters in the rules.
Sets the alphabet to be the letters in rules.
- See
validate_rules, and validate
- Parameters
(None) –
- Returns
A const reference to
*this
-
inline bool libsemigroups::Presentation::contains_empty_word() const noexcept¶
Check if the presentation should contain the empty word.
- Parameters
(None) –
- Throws
(None) – This function is
noexceptand is guaranteed never to throw.- Returns
A value of type
bool
-
inline Presentation &libsemigroups::Presentation::contains_empty_word(bool val) noexcept¶
Specify that the presentation should (not) contain the empty word.
- Parameters
val – whether the presentation should contain the empty word
- Throws
(None) – This function is
noexceptand is guaranteed never to throw.- Returns
A const reference to
*this
-
inline size_type libsemigroups::Presentation::index(letter_type val) const¶
Get the index of a letter in the alphabet.
- Complexity
Constant.
Warning
This function does not verify that its argument belongs to the alphabet.
- Parameters
val – the letter
- Throws
(None) – This function guarantees not to throw a LibsemigroupsException.
- Returns
A value of type size_type
-
inline letter_type libsemigroups::Presentation::letter(size_type i) const¶
Get a letter in the alphabet by index.
Returns the letter of the alphabet in position
iWarning
This function performs no bound checks on the argument
i- Parameters
i – the index
- Throws
(None) – This function guarantees not to throw a LibsemigroupsException.
- Returns
A value of type letter_type