Public Types | Public Member Functions

FreeMonoid< A > Struct Template Reference
[AlgebraFreemonoid]

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

Inheritance diagram for FreeMonoid< A >:
Inheritance graph
[legend]

List of all members.

Public Types

typedef virtual_types
< FreeMonoid< A >
>::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 FreeMonoid< A > 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.
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 contains that always returns 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.
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  ) 

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 (  ) 

Alphabet's accessor.

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

Reimplemented from FreeMonoidBase< FreeMonoid< A > >.

Definition at line 68 of file free_monoid.hxx.

bool contains ( const Element< OtherS, T > &  other  )  const [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.