Inheritance diagram for vcsn::MetaElement< AutomataBase< Self >, T >:
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 > | serie_t |
typedef series_t::monoid_t | monoid_t |
typedef serie_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::weights_t | weights_t |
typedef series_elt_t::weight_t | weight_t |
typedef series_elt_t::weight_value_t | weight_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 Methods | |
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 serie_t &m) |
void | set_final (hstate_t state) |
void | set_final (hstate_t state, const serie_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 serie_t &e) |
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 |
serie_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 Methods | |
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.
|
type of the interface of an automaton. Reimplemented in vcsn::MetaElement< TransducerBase< Self >, T >. |
|
type the series set from which is build the automaton. |
|
type of the implementation of series that holds the automaton. |
|
type of the element of the set of series that holds the automaton. |
|
type of the free monoid. |
|
type of the free monoid element. |
|
type of the implementation of a word. |
|
type of the letter. |
|
type of the weights set. |
|
type of the free monoid element. |
|
type of the implementation of a weight. Reimplemented in vcsn::MetaElement< TransducerBase< Self >, T >. |
|
type of additional information that is aggregated to the automaton. |
|
type of the label of the automaton implementation. |
|
type of the states container. |
|
type of the iterator over the states set. |
|
type of the edges set. |
|
type of the iterator over the edges. |
|
type of the initial application. |
|
type of the initial application support. |
|
type of the iterator of the initial application support. |
|
type of the final application. |
|
type of the iterator of the final application support. |
|
the set of series from which is build the automaton (const version). |
|
the optional information aggregated to the automaton. |
|
the optional information aggregated to the automaton. |
|
return true if the automaton is consistent. |
|
accessor to the set of states. (const version) |
|
accessor to the set of states. (const version) |
|
accessor to the initial application. |
|
accessor to the final application. |
|
return true if the state is initial (ie it is in the initial support) . |
|
return true if the state is final (ie it is in the final support). |
|
set the state to be initial. |
|
set an initial multiplicity to the state. |
|
set the state to be final. |
|
set a final multiplicity to the state. |
|
set the state not to be initial. |
|
set the set not to be final. |
|
make the support of the initial application to be empty. |
|
make the support of the final application to be empty. |
|
return the initial multiplicity of the state. |
|
return the final multiplicity of the state. |
|
add a new state to the automaton. |
|
return a randomly chosen state. (valid only if the automaton is not empty) |
|
add a new edge between 'from' and 'to' labelled by 'label' |
|
If the underlying implementation is not sufficiently general to support this operation, you will have several edges created. |
|
add a spontaneous transition between 'from' and 'to'. |
|
add a transition between 'from' and 'to' labelled by a letter. |
|
update the label of an edge. |
|
delete the state 's'. |
|
delete the edge 'e'. |
|
delete the state 's' and every references to it in the automaton. |
|
check if the state 's' is in the automaton. |
|
check if the edge 'e' is in the automaton. |
|
return the origin of the edge 'e'. |
|
return the aim of the edge 'e'. |
|
return the label of the edge 'e'. |
|
return the label seen as a serie. |
|
return the label seen as a serie implementation. |
|
return true if the transition is spontaneous. |
|
return the label seen as a word. |
|
returns the label seen as word implementation. |
|
Becareful, when you have more general label this method is ! probably invalidated (in that case, an exception should be ! raised.) |
|
store the output edges of the state 'from' using 'res'. |
|
store the output edges of the state 'from' where query(a.set(), a.value(), e)) = true using 'res'. |
|
store the output edges of the state 'from' where the label matches the letter. |
|
store the output spontaneous transitions. |
|
store the output edges of the state 'from' in the container 'res' |
|
store the output edges of the state 'from' where query(label(e)) = true in the container 'res' |
|
store the output edges of the state 'from' where query(label(e)) = true in the container 'res' |
|
store the output spontaneous transitions. |
|
store the output states of the state 'from' using 'res'. |
|
store the output states of the state 'from' where query(label(e)) = true using 'res'. |
|
store the output states of the state 'from' where the label matches the letter. |
|
store the output spontaneous transitions. |
|
store the output states of the state 'from' in the container 'res' |
|
store the output states of the state 'from' where query(label(e)) = true in the container 'res' |
|
store the output states of the state 'from' where query(label(e)) = true in the container 'res' |
|
store the output spontaneous transitions. |
|
store the output edges of the state 'from' using 'res'. |
|
store the output edges of the state 'from' where query(label(e)) = true using 'res'. |
|
store the output edges of the state 'from' where the label matches the letter. |
|
store the output spontaneous transitions. |
|
store the output edges of the state 'from' in the container 'res' |
|
store the output edges of the state 'from' where query(label(e)) = true in the container 'res' |
|
store the output edges of the state 'from' where query(label(e)) = true in the container 'res' |
|
store the output spontaneous transitions. |
|
store the output states of the state 'from' using 'res'. |
|
store the output states of the state 'from' where query(label(e)) = true using 'res'. |
|
store the output states of the state 'from' where the label matches the letter. |
|
store the output spontaneous transitions. |
|
store the output states of the state 'from' in the container 'res' |
|
store the output states of the state 'from' where query(label(e)) = true in the container 'res' |
|
store the output states of the state 'from' where query(label(e)) = true in the container 'res' |
|
store the output spontaneous transitions. |
|
copy constructor Reimplemented in vcsn::MetaElement< TransducerBase< Self >, T >. |