Inheritance diagram for MetaElement< TransducerBase< Self >, T >:
Public Types | |
typedef MetaElement< TransducerBase< Self >, T > | self_t |
Type of the interface of an automaton. | |
typedef MetaElement< AutomataBase< Self >, T > | super_t |
Type of the super class. | |
typedef MetaElement< AutomataBase< Self >, T > | automaton_t |
Type of the interface of an automaton. | |
typedef super_t::semiring_elt_t | output_series_set_elt_t |
Type of the output. | |
typedef algebra::series_traits< semiring_elt_value_t >::monoid_elt_value_t | output_monoid_elt_value_t |
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 output_monoid_t::letter_t | output_letter_t |
typedef super_t::monoid_elt_value_t | input_monoid_elt_value_t |
Type of the input monoid element implementation. | |
typedef super_t::monoid_t | input_monoid_t |
Type of the input monoid. | |
typedef Element< input_monoid_t, input_monoid_elt_value_t > | input_monoid_elt_t |
Type of the input monoid element. | |
typedef input_monoid_t::letter_t | input_letter_t |
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_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 >::transitions_t | transitions_t |
Type of the transitions set. | |
typedef automaton_traits< T >::transition_iterator | transition_iterator |
Type of the iterator over the transitions. | |
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_support_t | final_support_t |
Type of the final application support. | |
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 | |
IMPORT_TYPEDEF_ (automaton_t, series_set_t) | |
Type the series set from which is build the automaton. | |
IMPORT_TYPEDEF_ (automaton_t, series_set_elt_value_t) | |
Type of the implementation of series that holds the automaton. | |
IMPORT_TYPEDEF_ (automaton_t, series_set_elt_t) | |
Type of the element of the set of series that holds the automaton. | |
IMPORT_TYPEDEF_ (automaton_t, monoid_t) | |
Type of the free monoid. | |
IMPORT_TYPEDEF_ (automaton_t, monoid_elt_t) | |
Type of the free monoid element. | |
IMPORT_TYPEDEF_ (automaton_t, monoid_elt_value_t) | |
Type of the implementation of a word. | |
IMPORT_TYPEDEF_ (automaton_t, letter_t) | |
Type of the letter. | |
IMPORT_TYPEDEF_ (automaton_t, semiring_t) | |
Type of the semiring set. | |
IMPORT_TYPEDEF_ (automaton_t, semiring_elt_t) | |
Type of the free monoid element. | |
IMPORT_TYPEDEF_ (automaton_t, semiring_elt_value_t) | |
Type of the implementation of a semiring_elt. | |
IMPORT_TYPEDEF_ (automaton_t, tag_t) | |
Type of additional information that is aggregated to the automaton. | |
IMPORT_TYPEDEF_ (automaton_t, label_t) | |
Type of the label of the automaton implementation. | |
IMPORT_TYPEDEF_ (automaton_t, states_t) | |
Type of the states container. | |
IMPORT_TYPEDEF_ (automaton_t, state_iterator) | |
Type of the iterator over the states set. | |
IMPORT_TYPEDEF_ (automaton_t, transitions_t) | |
Type of the transitions set. | |
IMPORT_TYPEDEF_ (automaton_t, transition_iterator) | |
Type of the iterator over the transitions. | |
IMPORT_TYPEDEF_ (automaton_t, initial_support_t) | |
Type of the initial application support. | |
IMPORT_TYPEDEF_ (automaton_t, initial_iterator) | |
Type of the iterator of the initial application support. | |
IMPORT_TYPEDEF_ (automaton_t, final_support_t) | |
Type of the final application support. | |
IMPORT_TYPEDEF_ (automaton_t, final_iterator) | |
Type of the iterator of the final application support. | |
input_monoid_elt_t | input_of (htransition_t) const |
Return the input of a transition. | |
output_series_set_elt_t | output_of (htransition_t) const |
Return the output of a transition. | |
htransition_t | add_io_transition (hstate_t, hstate_t, input_monoid_elt_value_t, output_monoid_elt_value_t, output_semiring_elt_t=output_semiring_elt_t()) |
Add a transition specified as an input word value and output word value. | |
htransition_t | add_io_transition (hstate_t, hstate_t, input_letter_t, output_letter_t, output_semiring_elt_t=output_semiring_elt_t()) |
Add a transition specified using an input letter, an output letter and a weight linked to it. | |
htransition_t | add_o_transition (hstate_t, hstate_t, output_letter_t, output_semiring_elt_t=output_semiring_elt_t()) |
Add an only-output transition (epsilon as input). | |
htransition_t | add_i_transition (hstate_t, hstate_t, input_letter_t, output_semiring_elt_t=output_semiring_elt_t()) |
Add an only-input transition (epsilon as output). | |
void | set_o_final (hstate_t, output_monoid_elt_value_t) |
Set a weight on the final transition, specifying an output_monoid value. | |
void | set_o_initial (hstate_t, output_monoid_elt_value_t) |
Set a weight on the initial transition, specifying an output_monoid value. | |
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. | |
states_t | states () const |
Accessor to the set of states. | |
transitions_t | transitions () const |
Accessor to the set of states. | |
initial_support_t | initial () const |
Accessor to the initial application. | |
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. | |
htransition_t | add_transition (hstate_t src, hstate_t dst, const label_t &label) |
Add a new transition between src and to labelled by label . | |
htransition_t | add_weighted_transition (hstate_t src, hstate_t dst, const semiring_elt_t &w, const monoid_elt_value_t &m) |
Add a new weighted transition. | |
htransition_t | add_series_transition (hstate_t src, hstate_t dst, const series_set_elt_t &e) |
If the underlying implementation is not sufficiently general to support this operation, you will have several transitions created. | |
htransition_t | add_spontaneous (hstate_t src, hstate_t dst, const semiring_elt_t &w) |
Add a spontaneous transition between src and dst . | |
htransition_t | add_spontaneous (hstate_t src, hstate_t dst) |
Add a spontaneous transition between src and dst . | |
htransition_t | add_letter_transition (hstate_t src, hstate_t dst, const letter_t &l) |
Add a transition between src and dst labelled by a letter. | |
void | update (htransition_t e, const label_t &l) |
Update the label of a transition. | |
void | del_state (hstate_t s) |
Delete the state s . | |
void | del_transition (htransition_t e) |
Delete the transition e . | |
bool | has_state (hstate_t s) const |
Check if the state s is in the automaton. | |
bool | has_transition (htransition_t e) const |
Check if the transition e is in the automaton. | |
hstate_t | src_of (htransition_t e) const |
Return the origin of the transition e . | |
hstate_t | dst_of (htransition_t e) const |
Return the aim of the transition e . | |
automaton_traits< T >::label_t | label_of (htransition_t e) const |
Return the label of the transition e . | |
series_set_elt_t | series_of (htransition_t e) const |
Return the label seen as a series. | |
series_set_elt_value_t | series_value_of (htransition_t e) const |
Return the label seen as a series implementation. | |
bool | is_spontaneous (htransition_t e) const |
Return true if the transition is spontaneous. | |
monoid_elt_t | word_of (htransition_t e) const |
Return the label seen as a word. | |
semiring_elt_t | weight_of (htransition_t e) const |
Return the label seen as a weight. | |
monoid_elt_value_t | word_value_of (htransition_t e) const |
Returns the label seen as word implementation. | |
letter_t | letter_of (htransition_t e) const |
Becareful, when you have more general label this method is probably invalidated. | |
template<typename OutputIterator, typename Kind> | |
void | delta (OutputIterator res, hstate_t src, delta_kind::kind< Kind > k) const |
Store the output transitions/states of the state src using res. | |
template<typename OutputIterator, typename L, typename Kind> | |
void | delta (OutputIterator res, hstate_t src, const L &query, delta_kind::kind< Kind > k) const |
Store the output transitions/states of the state src where query is true on a transition/state, using res. | |
template<typename OutputIterator, typename L, typename Kind> | |
void | letter_delta (OutputIterator res, hstate_t src, const L &letter, delta_kind::kind< Kind > k) const |
Store the output transitions/states of the state src where the label matches the letter letter. | |
template<typename OutputIterator, typename Kind> | |
void | spontaneous_delta (OutputIterator res, hstate_t src, delta_kind::kind< Kind > k) const |
Store the output spontaneous transitions or states reached from src by an epsilon-transition. | |
template<typename Container, typename Kind> | |
void | deltac (Container &res, hstate_t src, delta_kind::kind< Kind > k) const |
Store the output transitions/states of the state src in the container res. | |
template<typename Container, typename L, typename Kind> | |
void | deltac (Container &res, hstate_t src, const L &query, delta_kind::kind< Kind > k) const |
Store the output transitions/states of the state src where query is true on a transition/state, using the container res. | |
template<typename Container, typename L, typename Kind> | |
void | letter_deltac (Container &res, hstate_t src, const L &letter, delta_kind::kind< Kind > k) const |
Store the output transitions/states of the state src where the label matches the letter letter. | |
template<typename Container, typename Kind> | |
void | spontaneous_deltac (Container &res, hstate_t src, delta_kind::kind< Kind > k) const |
Store the output spontaneous transitions or states reached from src by an epsilon-transition in the container res. | |
template<typename Functor, typename Kind> | |
void | deltaf (Functor &fun, hstate_t src, delta_kind::kind< Kind > k) const |
Call the functor fun on every output transitions/states of the state src. | |
template<typename Functor, typename L, typename Kind> | |
void | deltaf (Functor &fun, hstate_t src, const L &query, delta_kind::kind< Kind > k) const |
Call the functor fun on every output transitions/states of the state src where query is true. | |
template<typename Functor, typename L, typename Kind> | |
void | letter_deltaf (Functor &fun, hstate_t src, const L &letter, delta_kind::kind< Kind > k) const |
Call the functor fun on every output transitions/states of the state src where the label matches the letter letter. | |
template<typename Functor, typename Kind> | |
void | spontaneous_deltaf (Functor &fun, hstate_t src, delta_kind::kind< Kind > k) const |
Call the functor fun on every output spontaneous transitions or every states reached by src with an epsilon-transition. | |
template<typename OutputIterator, typename Kind> | |
void | rdelta (OutputIterator res, hstate_t src, delta_kind::kind< Kind > k) const |
Store the input transitions/states of the state src using res. | |
template<typename OutputIterator, typename L, typename Kind> | |
void | rdelta (OutputIterator res, hstate_t src, const L &query, delta_kind::kind< Kind > k) const |
Store the input transitions/states of the state src where query is true on a transition/state, using res. | |
template<typename OutputIterator, typename L, typename Kind> | |
void | letter_rdelta (OutputIterator res, hstate_t src, const L &letter, delta_kind::kind< Kind > k) const |
Store the input transitions/states of the state src where the label matches the letter letter. | |
template<typename OutputIterator, typename Kind> | |
void | spontaneous_rdelta (OutputIterator res, hstate_t src, delta_kind::kind< Kind > k) const |
Store every input spontaneous transitions or every states that reach src with an epsilon-transition using res. | |
template<typename Container, typename Kind> | |
void | rdeltac (Container &res, hstate_t src, delta_kind::kind< Kind > k) const |
Store the input transitions/states of the state src in the container res. | |
template<typename Container, typename L, typename Kind> | |
void | rdeltac (Container &res, hstate_t src, const L &query, delta_kind::kind< Kind > k) const |
Store the input transitions/states of the state src where query is true on a transition/state, using the container res. | |
template<typename Container, typename L, typename Kind> | |
void | letter_rdeltac (Container &res, hstate_t src, const L &letter, delta_kind::kind< Kind > k) const |
Store the input transitions/states of the state src where the label matches the letter letter. | |
template<typename Container, typename Kind> | |
void | spontaneous_rdeltac (Container &res, hstate_t src, delta_kind::kind< Kind > k) const |
Store every input spontaneous transitions or every states that reach src with an epsilon-transition in the container res. | |
template<typename Functor, typename Kind> | |
void | rdeltaf (Functor &fun, hstate_t src, delta_kind::kind< Kind > k) const |
Call the functor fun on every input transitions/states of the state src. | |
template<typename Functor, typename L, typename Kind> | |
void | rdeltaf (Functor &fun, hstate_t src, const L &query, delta_kind::kind< Kind > k) const |
Call the functor fun on every input transitions/states of the state src where query is true. | |
template<typename Functor, typename L, typename Kind> | |
void | letter_rdeltaf (Functor &fun, hstate_t src, const L &letter, delta_kind::kind< Kind > k) const |
Call the functor fun on every input transitions/states of the state src where the label matches the letter letter. | |
template<typename Functor, typename Kind> | |
void | spontaneous_rdeltaf (Functor &fun, hstate_t src, delta_kind::kind< Kind > k) const |
Call the functor fun on every input spontaneous transitions or every states that reach src with an epsilon-transition. | |
Protected Member Functions | |
MetaElement () | |
MetaElement (const MetaElement &other) | |
Copy constructor. |
MetaElement<TransducerBase<Self>, T> defines the interface of every transducer that is the result of the interaction of a structural element (TransducerBase<Self>) and an implementation T.
Definition at line 109 of file transducer_base.hh.
automaton_traits< T >::states_t states | ( | ) | const [inherited] |
Accessor to the set of states.
(const version)
Definition at line 96 of file automata_base.hxx.
References vcsn::op_states().
automaton_traits< T >::transitions_t transitions | ( | ) | const [inherited] |
Accessor to the set of states.
(const version)
Definition at line 104 of file automata_base.hxx.
References vcsn::op_transitions().
hstate_t choose_state | ( | ) | const [inherited] |
Return a randomly chosen state.
(valid only if the automaton is not empty)
Definition at line 265 of file automata_base.hxx.
MetaElement< AutomataBase< Self >, T >::letter_t letter_of | ( | htransition_t | e | ) | const [inherited] |
Becareful, when you have more general label this method is probably invalidated.
)
Definition at line 456 of file automata_base.hxx.
References vcsn::op_letter_of().
void deltaf | ( | Functor & | fun, | |
hstate_t | src, | |||
delta_kind::kind< Kind > | k | |||
) | const [inherited] |
Call the functor fun on every output transitions/states of the state src.
If fun returns Boolean values and returns false, the loop is stopped.
Definition at line 561 of file automata_base.hxx.
References vcsn::op_deltaf().
void deltaf | ( | Functor & | fun, | |
hstate_t | src, | |||
const L & | query, | |||
delta_kind::kind< Kind > | k | |||
) | const [inherited] |
Call the functor fun on every output transitions/states of the state src where query is true.
If fun returns Boolean values and returns false, the loop is stopped.
Definition at line 570 of file automata_base.hxx.
References vcsn::op_deltaf().
void letter_deltaf | ( | Functor & | fun, | |
hstate_t | src, | |||
const L & | letter, | |||
delta_kind::kind< Kind > | k | |||
) | const [inherited] |
Call the functor fun on every output transitions/states of the state src where the label matches the letter letter.
If fun returns Boolean values and returns false, the loop is stopped.
Definition at line 581 of file automata_base.hxx.
References vcsn::op_letter_deltaf().
void spontaneous_deltaf | ( | Functor & | fun, | |
hstate_t | src, | |||
delta_kind::kind< Kind > | k | |||
) | const [inherited] |
Call the functor fun on every output spontaneous transitions or every states reached by src with an epsilon-transition.
If fun returns Boolean values and returns false, the loop is stopped.
Definition at line 593 of file automata_base.hxx.
References vcsn::op_spontaneous_deltaf().