MetaElement for AlphabetSetBase.  
More...

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 Member Functions | |
| 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.  | |
| size_t | max_size () const | 
| Retrieve the maximum number of letters the alphabet can contain.  | |
| bool | letter_equality (letter_t, letter_t) const | 
| Test for matching letters modulo the alphabet meta-symbols.  | |
| bool | contains (const letter_t &l) const | 
| Whether the alphabet contains a specified letter.  | |
| bool | is_finite () const | 
| Whether the alphabet contains a finite number of letters.  | |
| const S & | structure () 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.   | |
| 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.   | |
| 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.   | |
| 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.   | |
| 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.   | |
| 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.   | |
| 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.   | |
| const Element< S, T > & | self () const | 
| Accessor to the real type.   | |
Static Public Attributes | |
| static const bool | dynamic_value = true | 
| Whether the implementation type has run-time data.  | |
Protected Member Functions | |
| MetaElement () | |
| Protected constructor.  | |
| MetaElement (const MetaElement &other) | |
| Protected constructor.  | |
MetaElement for AlphabetSetBase. 
Services shared by all alphabets.
Definition at line 123 of file alphabets_base.hh.
| Element<S, T>& operator+= | ( | const U & | other | ) |  [inline, inherited] | 
        
Self addition between Element and foreign values.
Maps to op_in_add(). 
| Element<S, T>& operator-= | ( | const U & | other | ) |  [inline, inherited] | 
        
Self substraction between Element and foreign values.
Maps to op_in_sub(). 
| Element<S, T>& operator/= | ( | const U & | other | ) |  [inline, inherited] | 
        
Self division between Element and foreign values.
Maps to op_in_div(). 
| Element<S, T>& operator*= | ( | const U & | other | ) |  [inline, inherited] | 
        
Self multiplication between Element and foreign values.
Maps to op_in_mul(). 
| Element<S, T>& operator%= | ( | const U & | other | ) |  [inline, inherited] | 
        
Self modulus between Element and foreign values.
Maps to op_in_mod(). 
Standard constant-time swap between Element instances.
Maps to op_swap(). 
Definition at line 130 of file syntactic_decorator.hxx.
References vcsn::op_swap(), Element::structure(), SyntacticDecorator::structure(), Element::value(), and SyntacticDecorator::value().
| Element< S, T > & self | ( | ) |  [inline, inherited] | 
        
Accessor to the real type.
To be used by implementations in this class and derived MetaElement specializations to obtain a reference to the Element instance with its most derived type.
Definition at line 27 of file syntactic_decorator.hxx.
| const Element< S, T > & self | ( | ) |  const [inline, inherited] | 
        
Accessor to the real type.
To be used by implementations in this class and derived MetaElement specializations to obtain a reference to the Element instance with its most derived type.
Definition at line 34 of file syntactic_decorator.hxx.
 1.5.5