Inheritance diagram for MetaElement< AutomataBase< Self >, T >:

Public Types | |
| 
typedef MetaElement< AutomataBase< Self >, T >  | self_t | 
| type of the interface of an automaton.  | |
| 
typedef AutomataBase< Self  >::series_set_t  | series_set_t | 
| type the series set from which is build the automaton.  | |
| 
typedef automaton_traits< T >::series_set_elt_value_t  | series_set_elt_value_t | 
| type of the implementation of series that holds the automaton.  | |
| 
typedef Element< series_set_t, series_set_elt_value_t >  | series_set_elt_t | 
| type of the element of the set of series that holds the automaton.  | |
| typedef series_set_t::monoid_t | monoid_t | 
| type of the free monoid.  | |
| typedef series_set_elt_t::monoid_elt_t | monoid_elt_t | 
| type of the free monoid element.  | |
| typedef monoid_elt_t::value_t | monoid_elt_value_t | 
| type of the implementation of a word.  | |
| typedef monoid_t::letter_t | letter_t | 
| type of the letter.  | |
| typedef series_set_t::semiring_t | semiring_t | 
| type of the semiring set.  | |
| typedef series_set_elt_t::semiring_elt_t | semiring_elt_t | 
| type of the free monoid element.  | |
| typedef series_set_elt_t::semiring_elt_value_t | semiring_elt_value_t | 
| type of the implementation of a semiring_elt.  | |
| 
typedef automaton_traits< T >::tag_t  | tag_t | 
| type of additional information that is aggregated to the automaton.  | |
| 
typedef automaton_traits< T >::label_t  | label_t | 
| type of the label of the automaton implementation.  | |
| 
typedef automaton_traits< T >::states_t  | states_t | 
| type of the states container.  | |
| 
typedef automaton_traits< T >::state_iterator  | state_iterator | 
| type of the iterator over the states set.  | |
| 
typedef automaton_traits< T >::edges_t  | edges_t | 
| type of the edges set.  | |
| 
typedef automaton_traits< T >::edge_iterator  | edge_iterator | 
| type of the iterator over the edges.  | |
| 
typedef automaton_traits< T >::initial_t  | initial_t | 
| type of the initial application.  | |
| 
typedef automaton_traits< T >::initial_support_t  | initial_support_t | 
| type of the initial application support.  | |
| 
typedef automaton_traits< T >::initial_iterator  | initial_iterator | 
| type of the iterator of the initial application support.  | |
| 
typedef automaton_traits< T >::final_t  | final_t | 
| type of the final application.  | |
| 
typedef automaton_traits< T >::final_iterator  | final_iterator | 
| type of the iterator of the final application support.  | |
| 
typedef automaton_traits< T >::geometry_t  | geometry_t | 
| type of the geometry map containing state coordinates.  | |
Public Member Functions | |
| const series_set_t & | series () const | 
| the optional information aggregated to the automaton.  | |
| tag_t & | tag () | 
| the optional information aggregated to the automaton.  | |
| const tag_t & | tag () const | 
| the optional information aggregated to the automaton.  | |
| geometry_t & | geometry () | 
| the optional geometry information aggregated to the automaton.  | |
| const geometry_t & | geometry () const | 
| the optional geometry information aggregated to the automaton.  | |
| bool | exists () const | 
| return true if the automaton is consistent.  | |
| automaton_traits< T >::states_t | states () const | 
| accessor to the set of states.   | |
| automaton_traits< T >::edges_t | edges () const | 
| accessor to the set of states.   | |
| automaton_traits< T >::initial_support_t | initial () const | 
| accessor to the initial application.  | |
| automaton_traits< T >::final_support_t | final () const | 
| accessor to the final application.  | |
| bool | is_initial (hstate_t state) const | 
| return true if the state is initial (ie it is in the initial support) .  | |
| bool | is_final (hstate_t state) const | 
| return true if the state is final (ie it is in the final support).  | |
| void | set_initial (hstate_t state) | 
| set the state to be initial.  | |
| void | set_initial (hstate_t state, const series_set_elt_t &m) | 
| set an initial multiplicity to the state.  | |
| void | set_final (hstate_t state) | 
| set the state to be final.  | |
| void | set_final (hstate_t state, const series_set_elt_t &m) | 
| set a final multiplicity to the state.  | |
| void | unset_initial (hstate_t state) | 
| set the state not to be initial.  | |
| void | unset_final (hstate_t state) | 
| set the set not to be final.  | |
| void | clear_initial () | 
| make the support of the initial application to be empty.  | |
| void | clear_final () | 
| make the support of the final application to be empty.  | |
| Element< series_set_t, series_set_elt_value_t > | get_initial (hstate_t state) const | 
| return the initial multiplicity of the state.  | |
| Element< series_set_t, series_set_elt_value_t > | get_final (hstate_t what) const | 
| return the final multiplicity of the state.  | |
| hstate_t | add_state () | 
| add a new state to the automaton.  | |
| hstate_t | choose_state () const | 
| return a randomly chosen state.   | |
| hedge_t | add_edge (hstate_t from, hstate_t to, const label_t &label) | 
| add a new edge between 'from' and 'to' labelled by 'label'  | |
| hedge_t | add_weighted_edge (hstate_t from, hstate_t to, const semiring_elt_t &w, const monoid_elt_value_t &m) | 
| add a new weighted edge.  | |
| hedge_t | add_series_edge (hstate_t from, hstate_t to, const series_set_elt_t &e) | 
| If the underlying implementation is not sufficiently general to support this operation, you will have several edges created.  | |
| hedge_t | add_spontaneous (hstate_t from, hstate_t to, const semiring_elt_t &w) | 
| add a spontaneous transition between 'from' and 'to'.  | |
| hedge_t | add_spontaneous (hstate_t from, hstate_t to) | 
| add a spontaneous transition between 'from' and 'to'.  | |
| hedge_t | add_letter_edge (hstate_t from, hstate_t to, const letter_t &l) | 
| add an transition between 'from' and 'to' labelled by a letter.  | |
| void | update (hedge_t e, const label_t &l) | 
| update the label of an edge.  | |
| void | del_state (hstate_t s) | 
| delete the state 's'.  | |
| void | del_edge (hedge_t e) | 
| delete the edge 'e'.  | |
| bool | has_state (hstate_t s) const | 
| check if the state 's' is in the automaton.  | |
| bool | has_edge (hedge_t e) const | 
| check if the edge 'e' is in the automaton.  | |
| hstate_t | origin_of (hedge_t e) const | 
| return the origin of the edge 'e'.  | |
| hstate_t | aim_of (hedge_t e) const | 
| return the aim of the edge 'e'.  | |
| automaton_traits< T >::label_t | label_of (hedge_t e) const | 
| return the label of the edge 'e'.  | |
| series_set_elt_t | series_of (hedge_t e) const | 
| return the label seen as a series.  | |
| series_set_elt_value_t | series_value_of (hedge_t e) const | 
| return the label seen as a series implementation.  | |
| bool | is_spontaneous (hedge_t e) const | 
| return true if the transition is spontaneous.  | |
| monoid_elt_t | word_of (hedge_t e) const | 
| return the label seen as a word.  | |
| semiring_elt_t | weight_of (hedge_t e) const | 
| return the label seen as a weight.  | |
| monoid_elt_value_t | word_value_of (hedge_t e) const | 
| returns the label seen as word implementation.  | |
| letter_t | letter_of (hedge_t e) const | 
| Becareful, when you have more general label this method is probably invalidated.  | |
| template<typename OutputIterator> | |
| void | delta (OutputIterator res, hstate_t from, delta_kind::edges k) const | 
| store the output edges of the state 'from' using 'res'.  | |
| template<typename OutputIterator, typename L> | |
| void | delta (OutputIterator res, hstate_t from, const L &query, delta_kind::edges k) const | 
| store the output edges of the state 'from' where query(label(e)) = true using 'res'.  | |
| template<typename OutputIterator, typename L> | |
| void | letter_delta (OutputIterator res, hstate_t from, const L &letter, delta_kind::edges k) const | 
| store the output edges of the state 'from' where the label matches the letter.  | |
| template<typename OutputIterator> | |
| void | spontaneous_delta (OutputIterator res, hstate_t from, delta_kind::edges k) const | 
| store the output spontaneous transitions.  | |
| template<typename Container> | |
| void | deltac (Container &res, hstate_t from, delta_kind::edges k) const | 
| store the output edges of the state 'from' in the container 'res'  | |
| template<typename Container, typename L> | |
| void | deltac (Container &res, hstate_t from, const L &query, delta_kind::edges k) const | 
| store the output edges of the state 'from' where query(label(e)) = true in the container 'res'  | |
| template<typename Container, typename L> | |
| void | letter_deltac (Container &res, hstate_t from, const L &letter, delta_kind::edges k) const | 
| store the output edges of the state 'from' where query(label(e)) = true in the container 'res'  | |
| template<typename Container> | |
| void | spontaneous_deltac (Container &res, hstate_t from, delta_kind::edges k) const | 
| store the output spontaneous transitions.  | |
| template<typename OutputIterator> | |
| void | delta (OutputIterator res, hstate_t from, delta_kind::states k) const | 
| store the output edges of the state 'from' using 'res'.  | |
| template<typename OutputIterator, typename L> | |
| void | delta (OutputIterator res, hstate_t from, const L &query, delta_kind::states k) const | 
| store the output states of the state 'from' where query(label(e)) = true using 'res'.  | |
| template<typename OutputIterator, typename L> | |
| void | letter_delta (OutputIterator res, hstate_t from, const L &letter, delta_kind::states k) const | 
| store the output states of the state 'from' where the label matches the letter.  | |
| template<typename OutputIterator> | |
| void | spontaneous_delta (OutputIterator res, hstate_t from, delta_kind::states k) const | 
| store the output spontaneous transitions.  | |
| template<typename Container> | |
| void | deltac (Container &res, hstate_t from, delta_kind::states k) const | 
| store the output states of the state 'from' in the container 'res'  | |
| template<typename Container, typename L> | |
| void | deltac (Container &res, hstate_t from, const L &query, delta_kind::states k) const | 
| store the output states of the state 'from' where query(label(e)) = true in the container 'res'  | |
| template<typename Container, typename L> | |
| void | letter_deltac (Container &res, hstate_t from, const L &letter, delta_kind::states k) const | 
| store the output states of the state 'from' where query(label(e)) = true in the container 'res'  | |
| template<typename Container> | |
| void | spontaneous_deltac (Container &res, hstate_t from, delta_kind::states k) const | 
| store the output spontaneous transitions.  | |
| template<typename OutputIterator> | |
| void | rdelta (OutputIterator res, hstate_t from, delta_kind::edges k) const | 
| store the output edges of the state 'from' using 'res'.  | |
| template<typename OutputIterator, typename L> | |
| void | rdelta (OutputIterator res, hstate_t from, const L &query, delta_kind::edges k) const | 
| store the output edges of the state 'from' where query(label(e)) = true using 'res'.  | |
| template<typename OutputIterator, typename L> | |
| void | letter_rdelta (OutputIterator res, hstate_t from, const L &letter, delta_kind::edges k) const | 
| store the output edges of the state 'from' where the label matches the letter.  | |
| template<typename OutputIterator> | |
| void | spontaneous_rdelta (OutputIterator res, hstate_t from, delta_kind::edges k) const | 
| store the output spontaneous transitions.  | |
| template<typename Container> | |
| void | rdeltac (Container &res, hstate_t from, delta_kind::edges k) const | 
| store the output edges of the state 'from' in the container 'res'  | |
| template<typename Container, typename L> | |
| void | rdeltac (Container &res, hstate_t from, const L &query, delta_kind::edges k) const | 
| store the output edges of the state 'from' where query(label(e)) = true in the container 'res'  | |
| template<typename Container, typename L> | |
| void | letter_rdeltac (Container &res, hstate_t from, const L &letter, delta_kind::edges k) const | 
| store the output edges of the state 'from' where query(label(e)) = true in the container 'res'  | |
| template<typename Container> | |
| void | spontaneous_rdeltac (Container &res, hstate_t from, delta_kind::edges k) const | 
| store the output spontaneous transitions.  | |
| template<typename OutputIterator> | |
| void | rdelta (OutputIterator res, hstate_t from, delta_kind::states k) const | 
| store the output edges of the state 'from' using 'res'.  | |
| template<typename OutputIterator, typename L> | |
| void | rdelta (OutputIterator res, hstate_t from, const L &query, delta_kind::states k) const | 
| store the output states of the state 'from' where query(label(e)) = true using 'res'.  | |
| template<typename OutputIterator, typename L> | |
| void | letter_rdelta (OutputIterator res, hstate_t from, const L &letter, delta_kind::states k) const | 
| store the output states of the state 'from' where the label matches the letter.  | |
| template<typename OutputIterator> | |
| void | spontaneous_rdelta (OutputIterator res, hstate_t from, delta_kind::states k) const | 
| store the output spontaneous transitions.  | |
| template<typename Container> | |
| void | rdeltac (Container &res, hstate_t from, delta_kind::states k) const | 
| store the output states of the state 'from' in the container 'res'  | |
| template<typename Container, typename L> | |
| void | rdeltac (Container &res, hstate_t from, const L &query, delta_kind::states k) const | 
| store the output states of the state 'from' where query(label(e)) = true in the container 'res'  | |
| template<typename Container, typename L> | |
| void | letter_rdeltac (Container &res, hstate_t from, const L &letter, delta_kind::states k) const | 
| store the output states of the state 'from' where query(label(e)) = true in the container 'res'  | |
| template<typename Container> | |
| void | spontaneous_rdeltac (Container &res, hstate_t from, delta_kind::states k) const | 
| store the output spontaneous transitions.  | |
Protected Member Functions | |
| MetaElement (const MetaElement &other) | |
| copy constructor  | |
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.
      
  | 
  
| 
 accessor to the set of states. (const version)  | 
  
      
  | 
  
| 
 accessor to the set of states. (const version)  | 
  
      
  | 
  
| 
 return a randomly chosen state. (valid only if the automaton is not empty)  | 
  
 1.4.1