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

FreeMonoid Struct Template Reference
[Freemonoid]

Implementation of a free monoid which aggregates its alphabet. More...

Inheritance diagram for FreeMonoid:

Inheritance graph
[legend]
List of all members.

Public Types

typedef virtual_types< FreeMonoid<
A > >::alphabet_t 
alphabet_t
typedef alphabet_t::letter_t letter_t
typedef FreeMonoid< A > self_t
 Exact type of the most derivated type in the hierarchy.


Public Member Functions

 FreeMonoid ()
 Default constructor.

 FreeMonoid (const A &a)
 Constructor based on an alphabet.

 FreeMonoid (const FreeMonoid &w)
 Copy constructor.

A & alphabet ()
 Alphabet's accessor.

const A & alphabet () const
 Alphabet's accessor.

Element< FreeMonoid< A >, T > identity (SELECTOR(T)) const
 returns the identity of the monoid (if mul_kind).

Element< FreeMonoid< A >, T > zero (SELECTOR(T)) const
 returns the zero of the monoid (if add_kind).

bool contains (const Element< FreeMonoid< A >, 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< FreeMonoid< A >, T > choose (SELECTOR(T)) const
 Choose randomly an element in the structure.

self_tself ()
 Accessor to the real type.


Detailed Description

template<typename A>
struct vcsn::algebra::FreeMonoid< A >

Implementation of a free monoid which aggregates its alphabet.


Member Typedef Documentation

typedef virtual_types<FreeMonoid< A > >::alphabet_t alphabet_t [inherited]
 

The type of the alphabet A.

typedef alphabet_t::letter_t letter_t [inherited]
 

The type of letter hold by the alphabet.


Constructor & Destructor Documentation

FreeMonoid  )  [inline]
 

Default constructor.

 

Bug:
FIXME: this interface should not exist (freemonoid is not defined without an alphabet)


Member Function Documentation

A & alphabet  )  [inline]
 

Alphabet's accessor.

Bug:
FIXME: this interface should not exist (s.e. are const once instantiated)

Reimplemented from FreeMonoidBase< FreeMonoid< A > >.

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 Dec 18 14:14:27 2003 for Vaucanson by doxygen 1.3.4