FreeMonoidProductBase Struct Template Reference
[AlgebraFmp]

Structural element for free monoid product. More...

Inheritance diagram for FreeMonoidProductBase:

Inheritance graph
[legend]

List of all members.

Public Types

typedef virtual_types< Self >
::first_monoid_t 
first_monoid_t
 The type of free monoid A*.
typedef virtual_types< Self >
::second_monoid_t 
second_monoid_t
 The type of free monoid B*.
typedef Self self_t
 Exact type of the most derived type in the hierarchy.

Public Member Functions

first_monoid_tfirst_monoid ()
 First monoid's accessor.
const first_monoid_tfirst_monoid () const
 First monoid's const accessor.
second_monoid_tsecond_monoid ()
 Second monoid's accessor.
const second_monoid_tsecond_monoid () const
 Second monoid'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 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.

Protected Member Functions

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


Detailed Description

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

Structural element for free monoid product.

FreeMonoidProductBase is the mother class of free monoid products. A free monoid product A* x B* is a monoid which is the product of the free monoids A* and B*.

Definition at line 45 of file freemonoid_product_base.hh.


Member Function Documentation

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 Sep 17 22:01:59 2009 for Vaucanson by  doxygen 1.5.6