# MetaElement< algebra::FreeMonoidBase< Self >, T > Struct Template Reference
[Freemonoid]

Element of a free monoid i.e. words. More...

Inheritance diagram for MetaElement< algebra::FreeMonoidBase< Self >, T >:
[legend]

List of all members.

## Public Types

typedef op_begin_traits< Self, T >::ret_t | iterator
| Iterator over the word.
typedef op_begin_traits< Self, T >::const_ret_t | const_iterator
| Iterator over the word (const version).
typedef op_rbegin_traits< Self, T >::ret_t | reverse_iterator
| Iterator over the mirror image of the word.
typedef op_rbegin_traits< Self, T >::const_ret_t | const_reverse_iterator
| Iterator over the mirror image of the word. (const version).

## Public Member Functions

size_t | length () const
| Returns the lenght of the word.
void | mirror ()
| In-place mirror transformation.
iterator | begin ()
| Beginning of the word.
const_iterator | begin () const
| Beginning of the word (const version).
reverse_iterator | rbegin ()
| Beginning of the mirror image of the word.
const_reverse_iterator | rbegin () const
| Beginning of the mirror image of the word. (const version).
iterator | end ()
| End of the word.
const_iterator | end () const
| End of the word (const version).
reverse_iterator | rend ()
| End of the mirror image of the word.
const_reverse_iterator | rend () const
| End of the mirror image of the word (const version).

## Protected Member Functions

| MetaElement ()
| Default constructor is protected since it is an abstract class.
| MetaElement (const MetaElement &other)
| Copy constructor is protected since it is an abstract class.

## Detailed Description

### template<class Self, typename T>
struct vcsn::MetaElement< algebra::FreeMonoidBase< Self >, T >

Element of a free monoid i.e. words.

Definition at line 99 of file freemonoid_base.hh.