Inheritance diagram for FreeMonoidBase:
Public Types | |
typedef virtual_types< Self >::alphabet_t | alphabet_t |
typedef alphabet_t::letter_t | letter_t |
typedef Self | self_t |
Exact type of the most derivated type in the hierarchy. | |
Public Member Functions | |
alphabet_t & | alphabet () |
const alphabet_t & | alphabet () const |
template<typename T> Element< Self, T > | identity (SELECTOR(T)) const |
returns the identity of the monoid (if mul_kind). | |
template<typename T> Element< Self, T > | zero (SELECTOR(T)) const |
returns the zero of the monoid (if add_kind). | |
bool | contains (const Element< Self, T > &elt) const |
Check if a given element is compatible with the structural element. | |
bool | contains (const Element< OtherS, T > &other) const |
Specialization of containts that always return false. | |
bool | contains (const T &elt_value) const |
Check if an anonymous value is compatible with a structural element. | |
Element< Self, T > | choose (SELECTOR(T)) const |
Choose randomly an element in the structure. | |
self_t & | self () |
Accessor to the real type. | |
Protected Member Functions | |
FreeMonoidBase () | |
FreeMonoidBase (const FreeMonoidBase &m) |
FreeMonoidBase is the mother class of free monoids. A free monoid A* is a monoid generated by an alphabet A and which provides a way of iterating through letters of words.
|
The type of the alphabet A. |
|
The type of letter hold by the alphabet. |
|
Default constructor accessor. |
|
Copy constructor accessor. |
|
Alphabet's accessor. Reimplemented in FreeMonoid. |
|
Alphabet's const accessor. Reimplemented in FreeMonoid. |
|
Specialization of Indeed, elements structured by a particular type are always incompatible with structural elements of another type. |
|
Accessor to the real type. This accessor is intended to be used by implementations in this class and derivated structures to obtain a reference to the structural element with its most derivated type. |