# FreeMonoid Struct Template Reference [Algebra, Freemonoid]

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

[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 derived type in the hierarchy.

## Public Member Functions

FreeMonoid (const A &a)
Constructor based on an alphabet, with an adaptative monoid representation.
FreeMonoid (const A &a, monoid_rep_t mr)
Constructor based on an alphabet, with a constraint monoid representation.
FreeMonoid (const FreeMonoid &w)
Copy constructor (preserve the monoid representation).
const shared_monoid_rep_t representation () const
Representation's accessor.
A & alphabet ()
Alphabet's accessor.
const A & alphabet () const
Alphabet's accessor.
void set_representation (monoid_rep_t mr)
This function is here for xml that doesn't know the representation when constructing the monoid.
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 `contains` that always returns 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.
const self_tself () const
Accessor to the real type.

## Detailed Description

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

Implementation of a free monoid which aggregates its alphabet.

Definition at line 40 of file free_monoid.hh.

## Constructor & Destructor Documentation

 FreeMonoid ( const A & a ) ` [inline]`

Constructor based on an alphabet, with an adaptative monoid representation.

Definition at line 31 of file free_monoid.hxx.

 FreeMonoid ( const A & a, monoid_rep_t mr )

Constructor based on an alphabet, with a constraint monoid representation.

## 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.

Definition at line 68 of file free_monoid.hxx.

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

Specialization of `contains` that always returns 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.

To be used by implementations in this class and derived structures to obtain a reference to the structural element with its most derived type.

 const self_t& self ( ) const` [inherited]`

Accessor to the real type.

To be used by implementations in this class and derived structures to obtain a reference to the structural element with its most derived type.

Generated on Thu Jan 22 17:37:14 2009 for Vaucanson by  1.5.6