Inheritance diagram for MetaElement< TransducerBase< Self >, T >:
Public Types | |
typedef MetaElement< AutomataBase< Self >, T > | automaton_t |
type of the interface of an automaton. | |
typedef MetaElement< TransducerBase< Self >, T > | self_t |
type of the interface of an automaton. | |
typedef MetaElement< AutomataBase< Self >, T > | mother_t |
type of the mother class. | |
typedef mother_t::semiring_elt_t | output_series_elt_t |
type of the output. | |
typedef automaton_traits< T >::semiring_elt_value_t | semiring_elt_value_t |
type of the output monoid element implementation. | |
typedef semiring_t::monoid_t | output_monoid_t |
type of the output monoid. | |
typedef Element< output_monoid_t, output_monoid_elt_value_t > | output_monoid_elt_t |
type of the output monoid element. | |
typedef mother_t::monoid_elt_value_t | input_monoid_elt_value_t |
type of the input monoid element implementation. | |
typedef mother_t::monoid_t | input_monoid_t |
type of the input monoid. | |
typedef algebra::series_traits< semiring_elt_value_t >::semiring_elt_value_t | output_semiring_elt_value_t |
type of the output weight implementation. | |
typedef semiring_t::semiring_t | output_semiring_t |
type of the output semiring. | |
typedef Element< output_semiring_t, output_semiring_elt_value_t > | output_semiring_elt_t |
type of the output weight. | |
typedef AutomataBase< Self >::series_t | series_t |
type the series set from which is build the automaton. | |
typedef automaton_traits< T >::series_value_t | series_value_t |
type of the implementation of series that holds the automaton. | |
typedef Element< series_t, series_value_t > | series_elt_t |
type of the element of the set of series that holds the automaton. | |
typedef series_t::monoid_t | monoid_t |
type of the free monoid. | |
typedef series_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_t::semiring_t | semiring_t |
type of the semiring set. | |
typedef series_elt_t::semiring_elt_t | semiring_elt_t |
type of the free monoid element. | |
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. | |
Public Member Functions | |
INHERIT_TYPEDEF_ (automaton_t, series_t) | |
type the series set from which is build the automaton. | |
INHERIT_TYPEDEF_ (automaton_t, series_value_t) | |
type of the implementation of series that holds the automaton. | |
INHERIT_TYPEDEF_ (automaton_t, series_elt_t) | |
type of the element of the set of series that holds the automaton. | |
INHERIT_TYPEDEF_ (automaton_t, monoid_t) | |
type of the free monoid. | |
INHERIT_TYPEDEF_ (automaton_t, monoid_elt_t) | |
type of the free monoid element. | |
INHERIT_TYPEDEF_ (automaton_t, monoid_elt_value_t) | |
type of the implementation of a word. | |
INHERIT_TYPEDEF_ (automaton_t, letter_t) | |
type of the letter. | |
INHERIT_TYPEDEF_ (automaton_t, semiring_t) | |
type of the semiring set. | |
INHERIT_TYPEDEF_ (automaton_t, semiring_elt_t) | |
type of the free monoid element. | |
INHERIT_TYPEDEF_ (automaton_t, semiring_elt_value_t) | |
type of the implementation of a semiring_elt. | |
INHERIT_TYPEDEF_ (automaton_t, tag_t) | |
type of additional information that is aggregated to the automaton. | |
INHERIT_TYPEDEF_ (automaton_t, label_t) | |
type of the label of the automaton implementation. | |
INHERIT_TYPEDEF_ (automaton_t, states_t) | |
type of the states container. | |
INHERIT_TYPEDEF_ (automaton_t, state_iterator) | |
type of the iterator over the states set. | |
INHERIT_TYPEDEF_ (automaton_t, edges_t) | |
type of the edges set. | |
INHERIT_TYPEDEF_ (automaton_t, edge_iterator) | |
type of the iterator over the edges. | |
INHERIT_TYPEDEF_ (automaton_t, initial_t) | |
type of the initial application. | |
INHERIT_TYPEDEF_ (automaton_t, initial_support_t) | |
type of the initial application support. | |
INHERIT_TYPEDEF_ (automaton_t, initial_iterator) | |
type of the iterator of the initial application support. | |
INHERIT_TYPEDEF_ (automaton_t, final_t) | |
type of the final application. | |
INHERIT_TYPEDEF_ (automaton_t, final_iterator) | |
type of the iterator of the final application support. | |
input_monoid_elt_t | input_of (hedge_t) const |
return the input of an edge | |
output_series_elt_t | output_of (hedge_t) const |
return the output of an edge | |
hedge_t | add_io_edge (hstate_t, hstate_t, input_monoid_elt_t, output_monoid_elt_t, output_semiring_elt_t=output_semiring_elt_t()) |
add an edge specified as an input word, an output word and a weight linked to it. | |
hedge_t | add_io_edge (hstate_t, hstate_t, input_letter_t, output_letter_t, output_semiring_elt_t=output_semiring_elt_t()) |
add an edge specified using an input letter, an output letter and a weight linked to it. | |
hedge_t | add_o_edge (hstate_t, hstate_t, output_letter_t, output_semiring_elt_t=output_semiring_elt_t()) |
add an only-output edge (epsilon as input). | |
hedge_t | add_i_edge (hstate_t, hstate_t, input_letter_t, output_semiring_elt_t=output_semiring_elt_t()) |
add an only-input edge (epsilon as output). | |
const series_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. | |
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_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_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_t, series_value_t > | get_initial (hstate_t state) const |
return the initial multiplicity of the state. | |
Element< series_t, series_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_series_edge (hstate_t from, hstate_t to, const series_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'. | |
void | safe_del_state (hstate_t s) |
delete the state 's' and every references to it in the automaton. | |
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_elt_t | series_of (hedge_t e) const |
return the label seen as a series. | |
series_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. | |
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> 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::edges k) const |
store the output edges of the state 'from' where the label matches the letter. | |
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::edges k) const |
store the output spontaneous transitions. | |
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::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> 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::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::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::edges k) const |
store the output spontaneous transitions. | |
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> 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::edges k) const |
store the output edges of the state 'from' where the label matches the letter. | |
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::edges k) const |
store the output spontaneous transitions. | |
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::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> 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::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::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::edges k) const |
store the output spontaneous transitions. | |
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 |
|
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) |