|
Public Types |
typedef MetaElement< AutomataBase<
Self >, T > | self_t |
typedef AutomataBase< Self
>::series_t | series_t |
typedef automaton_traits<
T >::serie_value_t | serie_value_t |
typedef Element< series_t,
serie_value_t > | series_elt_t |
typedef series_t::monoid_t | monoid_t |
typedef series_elt_t::monoid_elt_t | monoid_elt_t |
typedef monoid_elt_t::value_t | monoid_elt_value_t |
typedef monoid_t::letter_t | letter_t |
typedef series_t::semiring_t | semiring_t |
typedef series_elt_t::semiring_elt_t | semiring_elt_t |
typedef series_elt_t::semiring_elt_value_t | semiring_elt_value_t |
typedef automaton_traits<
T >::tag_t | tag_t |
typedef automaton_traits<
T >::label_t | label_t |
typedef automaton_traits<
T >::states_t | states_t |
typedef automaton_traits<
T >::state_iterator | state_iterator |
typedef automaton_traits<
T >::edges_t | edges_t |
typedef automaton_traits<
T >::edge_iterator | edge_iterator |
typedef automaton_traits<
T >::initial_t | initial_t |
typedef automaton_traits<
T >::initial_support_t | initial_support_t |
typedef automaton_traits<
T >::initial_iterator | initial_iterator |
typedef automaton_traits<
T >::final_t | final_t |
typedef automaton_traits<
T >::final_iterator | final_iterator |
Public Member Functions |
const series_t & | series () const |
tag_t & | tag () |
const tag_t & | tag () const |
bool | exists () const |
automaton_traits< T >::states_t | states () const |
automaton_traits< T >::edges_t | edges () const |
automaton_traits< T >::initial_support_t | initial () const |
automaton_traits< T >::final_support_t | final () const |
bool | is_initial (hstate_t state) const |
bool | is_final (hstate_t state) const |
void | set_initial (hstate_t state) |
void | set_initial (hstate_t state, const series_elt_t &m) |
void | set_final (hstate_t state) |
void | set_final (hstate_t state, const series_elt_t &m) |
void | unset_initial (hstate_t state) |
void | unset_final (hstate_t state) |
void | clear_initial () |
void | clear_final () |
Element< series_t, serie_value_t > | get_initial (hstate_t state) const |
Element< series_t, serie_value_t > | get_final (hstate_t what) const |
hstate_t | add_state () |
hstate_t | choose_state () const |
hedge_t | add_edge (hstate_t from, hstate_t to, const label_t &label) |
hedge_t | add_serie_edge (hstate_t from, hstate_t to, const series_elt_t &e) |
hedge_t | add_spontaneous (hstate_t from, hstate_t to, const semiring_elt_t &w) |
hedge_t | add_spontaneous (hstate_t from, hstate_t to) |
hedge_t | add_letter_edge (hstate_t from, hstate_t to, const letter_t &l) |
void | update (hedge_t e, const label_t &l) |
void | del_state (hstate_t s) |
void | del_edge (hedge_t e) |
void | safe_del_state (hstate_t s) |
bool | has_state (hstate_t s) const |
bool | has_edge (hedge_t e) const |
hstate_t | origin_of (hedge_t e) const |
hstate_t | aim_of (hedge_t e) const |
automaton_traits< T >::label_t | label_of (hedge_t e) const |
series_elt_t | serie_of (hedge_t e) const |
serie_value_t | serie_value_of (hedge_t e) const |
bool | is_spontaneous (hedge_t e) const |
monoid_elt_t | word_of (hedge_t e) const |
monoid_elt_value_t | word_value_of (hedge_t e) const |
letter_t | letter_of (hedge_t e) const |
template<typename OutputIterator> void | delta (OutputIterator res, hstate_t from, delta_kind::edges k) const |
template<typename OutputIterator, typename L> void | delta (OutputIterator res, hstate_t from, const L &query, delta_kind::edges k) const |
template<typename OutputIterator, typename L> void | letter_delta (OutputIterator res, hstate_t from, const L &letter, delta_kind::edges k) const |
template<typename OutputIterator> void | spontaneous_delta (OutputIterator res, hstate_t from, delta_kind::edges k) const |
template<typename Container> void | deltac (Container &res, hstate_t from, delta_kind::edges k) const |
template<typename Container, typename L> void | deltac (Container &res, hstate_t from, const L &query, delta_kind::edges k) const |
template<typename Container, typename L> void | letter_deltac (Container &res, hstate_t from, const L &letter, delta_kind::edges k) const |
template<typename Container> void | spontaneous_deltac (Container &res, hstate_t from, delta_kind::edges k) const |
template<typename OutputIterator> void | delta (OutputIterator res, hstate_t from, delta_kind::states k) const |
template<typename OutputIterator, typename L> void | delta (OutputIterator res, hstate_t from, const L &query, delta_kind::states k) const |
template<typename OutputIterator, typename L> void | letter_delta (OutputIterator res, hstate_t from, const L &letter, delta_kind::states k) const |
template<typename OutputIterator> void | spontaneous_delta (OutputIterator res, hstate_t from, delta_kind::states k) const |
template<typename Container> void | deltac (Container &res, hstate_t from, delta_kind::states k) const |
template<typename Container, typename L> void | deltac (Container &res, hstate_t from, const L &query, delta_kind::states k) const |
template<typename Container, typename L> void | letter_deltac (Container &res, hstate_t from, const L &letter, delta_kind::states k) const |
template<typename Container> void | spontaneous_deltac (Container &res, hstate_t from, delta_kind::states k) const |
template<typename OutputIterator> void | rdelta (OutputIterator res, hstate_t from, delta_kind::edges k) const |
template<typename OutputIterator, typename L> void | rdelta (OutputIterator res, hstate_t from, const L &query, delta_kind::edges k) const |
template<typename OutputIterator, typename L> void | letter_rdelta (OutputIterator res, hstate_t from, const L &letter, delta_kind::edges k) const |
template<typename OutputIterator> void | spontaneous_rdelta (OutputIterator res, hstate_t from, delta_kind::edges k) const |
template<typename Container> void | rdeltac (Container &res, hstate_t from, delta_kind::edges k) const |
template<typename Container, typename L> void | rdeltac (Container &res, hstate_t from, const L &query, delta_kind::edges k) const |
template<typename Container, typename L> void | letter_rdeltac (Container &res, hstate_t from, const L &letter, delta_kind::edges k) const |
template<typename Container> void | spontaneous_rdeltac (Container &res, hstate_t from, delta_kind::edges k) const |
template<typename OutputIterator> void | rdelta (OutputIterator res, hstate_t from, delta_kind::states k) const |
template<typename OutputIterator, typename L> void | rdelta (OutputIterator res, hstate_t from, const L &query, delta_kind::states k) const |
template<typename OutputIterator, typename L> void | letter_rdelta (OutputIterator res, hstate_t from, const L &letter, delta_kind::states k) const |
template<typename OutputIterator> void | spontaneous_rdelta (OutputIterator res, hstate_t from, delta_kind::states k) const |
template<typename Container> void | rdeltac (Container &res, hstate_t from, delta_kind::states k) const |
template<typename Container, typename L> void | rdeltac (Container &res, hstate_t from, const L &query, delta_kind::states k) const |
template<typename Container, typename L> void | letter_rdeltac (Container &res, hstate_t from, const L &letter, delta_kind::states k) const |
template<typename Container> void | spontaneous_rdeltac (Container &res, hstate_t from, delta_kind::states k) const |
Protected Member Functions |
| MetaElement (const MetaElement &other) |
MetaElement<AutomataBase<Self>, T> defines the interface of every automaton that is the result of the interaction of a structural element (AutomataBase<Self>) and an implementation T.
The implementation must be compatible with the automaton implementation concept. For this purpose, you can either use directly your implementation of automaton or use for example the class automaton_impl which is an adapter that enrich basic data structures to make them compatible with automaton implementation concept.