Collaboration diagram for product:
 
 | 
Modules | |
| product | |
Classes | |
| struct | FreeMonoidBase | 
| Structural element for free monoid.  More... | |
| struct | dynamic_traits< algebra::FreeMonoidBase< Self > > | 
| struct | virtual_types< algebra::FreeMonoidBase< S > > | 
| struct | MetaElement< algebra::FreeMonoidBase< Self >, T > | 
| Element of a free monoid i.e. words.  More... | |
| struct | FreeMonoidProduct | 
| Implementation of a monoid which is a product of two free monoids.  More... | |
| struct | dynamic_traits< algebra::FreeMonoidProduct< F, S > > | 
| Meta information about FreeMonoidProduct.  More... | |
| struct | MetaElement< algebra::FreeMonoidProduct< F, S >, T > | 
| Services of an element of a monoid implemented with FreeMonoidProduct.  More... | |
| struct | FreeMonoidProductBase | 
| Structural element for free monoid product.  More... | |
| struct | dynamic_traits< algebra::FreeMonoidProductBase< Self > > | 
| struct | virtual_types< algebra::FreeMonoidProductBase< S > > | 
| struct | MetaElement< algebra::FreeMonoidProductBase< Self >, T > | 
| Element of a monoid i.e. words.  More... | |
| struct | FreeMonoid | 
| Implementation of a free monoid which aggregates its alphabet.  More... | |
| struct | dynamic_traits< algebra::FreeMonoid< A > > | 
| Meta information about FreeMonoid.  More... | |
| struct | MetaElement< algebra::FreeMonoid< A >, T > | 
| Services of an element of a free monoid implemented with FreeMonoid.  More... | |
Typedefs | |
| 
typedef virtual_types< Self  >::second_monoid_t  | vcsn::algebra::FreeMonoidProductBase::second_monoid_t | 
| The type of free monoid B*.  | |
| typedef undefined_type | vcsn::algebra::FreeMonoidProductBase::alphabet_t | 
| typedef undefined_type | vcsn::algebra::FreeMonoidProductBase::letter_t | 
| typedef undefined_type | vcsn::virtual_types< algebra::FreeMonoidProductBase< S > >::second_monoid_t | 
| 
typedef virtual_types< Self  >::second_monoid_t  | vcsn::MetaElement< algebra::FreeMonoidProductBase< Self >, T >::second_monoid_t | 
| typedef T::first_type | vcsn::MetaElement< algebra::FreeMonoidProductBase< Self >, T >::first_monoid_elt_value_t | 
| typedef T::second_type | vcsn::MetaElement< algebra::FreeMonoidProductBase< Self >, T >::second_monoid_elt_value_t | 
| 
typedef Element< first_monoid_t, first_monoid_elt_value_t >  | vcsn::MetaElement< algebra::FreeMonoidProductBase< Self >, T >::first_monoid_elt_t | 
| 
typedef Element< second_monoid_t, second_monoid_elt_value_t >  | vcsn::MetaElement< algebra::FreeMonoidProductBase< Self >, T >::second_monoid_elt_t | 
Functions | |
| template<typename S, typename T> | |
| Element< S, T > | vcsn::mirror (const Element< S, T > &e) | 
| Return a fresh word that is the mirror.  | |
| template<typename S, typename T, typename CharContainer> | |
| bool | vcsn::parse_word (Element< S, T > &dest, const std::string &s, typename std::string::const_iterator &i, const CharContainer &escaped=CharContainer()) | 
| Parse the beginning of the string looking for a word.  | |
| template<class F, class S> | |
| bool | vcsn::algebra::operator== (const FreeMonoidProduct< F, S > &m1, const FreeMonoidProduct< F, S > &m2) | 
| first_monoid_t & | vcsn::algebra::FreeMonoidProductBase::first_monoid () | 
| First monoid's accessor.  | |
| const first_monoid_t & | vcsn::algebra::FreeMonoidProductBase::first_monoid () const | 
| First monoid's const accessor.  | |
| second_monoid_t & | vcsn::algebra::FreeMonoidProductBase::second_monoid () | 
| Second monoid's accessor.  | |
| const second_monoid_t & | vcsn::algebra::FreeMonoidProductBase::second_monoid () const | 
| Second monoid's const accessor.  | |
| vcsn::algebra::FreeMonoidProductBase::FreeMonoidProductBase () | |
| Default constructor accessor.  | |
| vcsn::algebra::FreeMonoidProductBase::FreeMonoidProductBase (const FreeMonoidProductBase &m) | |
| Copy constructor accessor.  | |
| first_monoid_elt_t & | vcsn::MetaElement< algebra::FreeMonoidProductBase< Self >, T >::first () | 
| First monoid's accessor.  | |
| const first_monoid_elt_t & | vcsn::MetaElement< algebra::FreeMonoidProductBase< Self >, T >::first () const | 
| First monoid's const accessor.  | |
| second_monoid_elt_t & | vcsn::MetaElement< algebra::FreeMonoidProductBase< Self >, T >::second () | 
| Second monoid's accessor.  | |
| const second_monoid_elt_t & | vcsn::MetaElement< algebra::FreeMonoidProductBase< Self >, T >::second () const | 
| Second monoid's const accessor.  | |
| void | vcsn::MetaElement< algebra::FreeMonoidProductBase< Self >, T >::mirror () | 
| In-place mirror transformation.  | |
| template<class Ftor> | |
| Ftor::result_type | vcsn::MetaElement< algebra::FreeMonoidProductBase< Self >, T >::length (Ftor f) | 
| Length.  | |
| vcsn::MetaElement< algebra::FreeMonoidProductBase< Self >, T >::MetaElement () | |
| Default constructor is protected since it is an abstract class.  | |
| vcsn::MetaElement< algebra::FreeMonoidProductBase< Self >, T >::MetaElement (const MetaElement &other) | |
| Copy constructor is protected since it is an abstract class.  | |
| template<typename A> | |
| bool | vcsn::algebra::operator== (const FreeMonoid< A > &a, const FreeMonoid< A > &b) | 
 1.4.6