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

FreeMonoidBase Struct Template Reference
[product]

Structural element for free monoid. More...

Inheritance diagram for FreeMonoidBase:

Inheritance graph
[legend]
List of all members.

Public Types

typedef virtual_types< Self
>::alphabet_t 
alphabet_t
 The type of the alphabet A.
typedef alphabet_t::letter_t letter_t
 The type of letter hold by the alphabet.
typedef Self self_t
 Exact type of the most derivated type in the hierarchy.

Public Member Functions

alphabet_talphabet ()
 Alphabet's accessor.
const alphabet_talphabet () const
 Alphabet's const accessor.
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_tself ()
 Accessor to the real type.

Protected Member Functions

 FreeMonoidBase ()
 Default constructor accessor.
 FreeMonoidBase (const FreeMonoidBase &m)
 Copy constructor accessor.

Detailed Description

template<class Self>
struct vcsn::algebra::FreeMonoidBase< Self >

Structural element for free monoid.

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.


Member Function Documentation

bool contains const Element< OtherS, T > &  other  )  const [inherited]
 

Specialization of containts that always return false.

Indeed, elements structured by a particular type are always incompatible with structural elements of another type.

self_t& self  )  [inherited]
 

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.


Generated on Thu Oct 27 12:52:32 2005 for Vaucanson by  doxygen 1.4.1