Main Page   Modules   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages  

vcsn::MetaElement< algebra::AlphabetSetBase< S >, T > Struct Template Reference
[Alphabet]

Specialization of MetaElement for AlphabetSetBase. More...

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

Inheritance graph
[legend]
List of all members.

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.


Detailed Description

template<class S, typename T>
struct vcsn::MetaElement< algebra::AlphabetSetBase< S >, T >

Specialization of MetaElement for AlphabetSetBase.

This class defines services shared by all alphabets.


Member Function Documentation

Element< S, T > & self   [inline, inherited]
 

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.

const Element< S, T > & self   const [inline, inherited]
 

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.


Generated on Wed Jul 2 19:09:10 2003 for Vaucanson by doxygen1.2.14 written by Dimitri van Heesch, © 1997-2002