MetaElement for AlphabetSetBase.
More...
Inheritance diagram for vcsn::MetaElement< algebra::AlphabetSetBase< S >, T >:

Public Types | |
|
typedef algebra::alphabet_traits< S, T >::letter_t | letter_t |
| The type of letters in the alphabet. | |
|
typedef op_begin_traits< S, T >::const_ret_t | const_iterator |
| The type of the letter iterator for constant alphabets. | |
|
typedef op_begin_traits< S, T >::ret_t | iterator |
| The type of the letter iterator for mutable alphabets. | |
Public Methods | |
| void | insert (const letter_t &l) |
| Add a letter to the alphabet. | |
| letter_t | choose () const |
| Randomly choose a letter in the alphabet. | |
| letter_t | random_letter () const |
| Select a random letter in all the possible letters in letter_t. | |
| size_t | size () const |
| Retrieve the number of letters in the alphabet. | |
| bool | letter_equality (letter_t, letter_t) const |
| Test for matching letters modulo the alphabet meta-symbols. | |
| bool | contains (const letter_t &l) const |
| Tell whether the alphabet contains a specified letter. | |
| bool | is_finite () const |
| Tell whether the alphabet contains a finite number of letters. | |
| const S & | set () const |
| Virtual accessor to the structural element. | |
| template<typename OtherS, typename U> Element< S, T > & | operator+= (const Element< OtherS, U > &other) |
self addition between Element instances. Maps to op_in_add. | |
| template<typename U> Element< S, T > & | operator+= (const U &other) |
self addition between Element and foreign values. Maps to op_in_add. | |
| template<typename OtherS, typename U> Element< S, T > & | operator-= (const Element< OtherS, U > &other) |
self substraction between Element instances. Maps to op_in_sub. | |
| template<typename U> Element< S, T > & | operator-= (const U &other) |
self substraction between Element and foreign values. Maps to op_in_sub. | |
| template<typename OtherS, typename U> Element< S, T > & | operator/= (const Element< OtherS, U > &other) |
self division between Element instances. Maps to op_in_div. | |
| template<typename U> Element< S, T > & | operator/= (const U &other) |
self division between Element and foreign values. Maps to op_in_div. | |
| template<typename OtherS, typename U> Element< S, T > & | operator *= (const Element< OtherS, U > &other) |
self multiplication between Element instances. Maps to op_in_mul. | |
| template<typename U> Element< S, T > & | operator *= (const U &other) |
self multiplication between Element and foreign values. Maps to op_in_mul. | |
| template<typename OtherS, typename U> Element< S, T > & | operator%= (const Element< OtherS, U > &other) |
self modulus between Element instances. Maps to op_in_mod. | |
| template<typename U> Element< S, T > & | operator%= (const U &other) |
self modulus between Element and foreign values. Maps to op_in_mod. | |
| Element< S, T > & | operator++ () |
In-place, prefix incrementation. Maps to op_in_inc. | |
| Element< S, T > | operator++ (int) |
Postfix incrementation. Maps to op_in_dec, with Element copy. | |
| Element< S, T > & | operator-- () |
In-place, prefix decrementation. Maps to op_in_dec. | |
| Element< S, T > | operator-- (int) |
Postfix decrementation. Maps to op_in_dec, with Element copy. | |
| template<typename U> Element< S, T > & | swap (Element< S, U > &other) |
Standard constant-time swap between Element instances. Maps to op_swap. | |
| iterator | begin () |
| Retrieve a begin iterator. | |
| const_iterator | begin () const |
| Retrieve a begin iterator. | |
| iterator | end () |
| Retrieve an end iterator. | |
| const_iterator | end () const |
| Retrieve an end iterator. | |
| T & | value () |
| Virtual accessor to value data. | |
| const T & | value () const |
| Virtual accessor to value data. | |
| Element< S, T > & | self () |
| Accessor to the real type. More... | |
| const Element< S, T > & | self () const |
| Accessor to the real type. More... | |
Static Public Attributes | |
| const bool | dynamic_value = true |
| Attribute indicating whether the implementation type has run-time data. | |
Protected Methods | |
| MetaElement () | |
| Protected constructors. | |
| MetaElement (const MetaElement &other) | |
| Protected constructor for class abstraction. | |
MetaElement for AlphabetSetBase.
This class defines services shared by all alphabets.
|
|
Accessor to the real type. This accessor is intended to be used by implementations in this class and derivated MetaElement specializations to obtain a reference to the Element instance with its most derivated type. |
|
|
Accessor to the real type. This accessor is intended to be used by implementations in this class and derivated MetaElement specializations to obtain a reference to the Element instance with its most derivated type. |
1.2.14 written by Dimitri van Heesch,
© 1997-2002