# AutomataBase< Self > Struct Template Reference
[Automata, Concept]

The most general concept of automaton. More...

Inheritance diagram for AutomataBase< Self >:
[legend]

List of all members.

## Public Types

typedef virtual_types< Self > ::series_set_t | series_set_t
| The type of the series set associated with the automaton.
typedef virtual_types< Self > ::kind_t | kind_t
| The type of the label kind associated with the automaton.
typedef Self | self_t
| Exact type of the most derived type in the hierarchy.

## Public Member Functions

const series_set_t & | series () const
| Accessor to the set of series of the automaton.
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_t & | self ()
| Accessor to the real type.
const self_t & | self () const
| Accessor to the real type.

## Protected Member Functions

| AutomataBase ()
| The default constructor is protected since it is an abstract class.
| AutomataBase (const AutomataBase &other)
| The copy constructor is protected since it is an abstract class.

## Detailed Description

### template<typename Self>
struct vcsn::AutomataBase< Self >

The most general concept of automaton.

It symbolises the set of automata with multiplicity over a fixed semiring and a fixed free monoid. Note that this class is abstract in the hierarchy.

Definition at line 41 of file automata_base.hh.

## Member Function Documentation

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.