Services of every element of the transducer set. More...
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 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 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 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 the automaton is built. | |
typedef AutomataBase< Self > ::kind_t | kind_t |
Type the label kind with which is the automaton is built. | |
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. | |
typedef automaton_traits< T > ::geometry_t::coords_t | geometry_coords_t |
Type of the coordinates used in the geometry map. | |
typedef automaton_traits< T > ::hstate_t | hstate_t |
Type of handlers. | |
typedef automaton_traits< T > ::delta_iterator | delta_iterator |
Type of delta iterators. | |
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 (typename automaton_traits< T >::htransition_t) const |
Return the input of a transition. | |
output_series_set_elt_t | output_of (typename automaton_traits< T >::htransition_t) const |
Return the output of a transition. | |
template<typename U , typename V > | |
automaton_traits< T > ::htransition_t | add_io_transition (typename automaton_traits< T >::hstate_t, typename automaton_traits< T >::hstate_t, const U &, const V &, output_semiring_elt_t=output_semiring_elt_t()) |
Add a transition specified as an input word value, an output word value and a weight linked to it. | |
template<typename U > | |
automaton_traits< T > ::htransition_t | add_o_transition (typename automaton_traits< T >::hstate_t, typename automaton_traits< T >::hstate_t, const U &, output_semiring_elt_t=output_semiring_elt_t()) |
Add an only-output transition (epsilon as input). | |
template<typename U > | |
automaton_traits< T > ::htransition_t | add_i_transition (typename automaton_traits< T >::hstate_t, typename automaton_traits< T >::hstate_t, const U &, output_semiring_elt_t=output_semiring_elt_t()) |
Add an only-input transition (epsilon as output). | |
template<typename U > | |
void | set_o_final (typename automaton_traits< T >::hstate_t, const U &) |
Set a weight on the final transition, specifying an output_monoid value. | |
template<typename U > | |
void | set_o_initial (typename automaton_traits< T >::hstate_t, const U &) |
Set a weight on the initial transition, specifying an output_monoid value. | |
const series_set_t & | series () const |
The set of series from which is build 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 |
FIXME: These next two methods should really be replaced with (single, i.e. | |
transitions_t | transitions () const |
Accessor to the set of transitions. (treat as const). | |
initial_support_t | initial () const |
Accessor to the initial application. | |
final_support_t | final () const |
Accessor to the final application. | |
bool | is_initial (const hstate_t &state) const |
Return true if the state is initial (i.e. is in the initial support). | |
bool | is_final (const hstate_t &state) const |
Return true if the state is final (i.e. is in the final support). | |
void | set_initial (const hstate_t &state) |
Set the state to be initial. | |
void | set_initial (const hstate_t &state, const series_set_elt_t &m) |
Set an initial multiplicity to the state. | |
void | set_final (const hstate_t &state) |
Set the state to be final. | |
void | set_final (const hstate_t &state, const series_set_elt_t &m) |
Set a final multiplicity to the state. | |
void | unset_initial (const hstate_t &state) |
Set the state not to be initial. | |
void | unset_final (const 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 (const hstate_t &state) const |
Return the initial multiplicity of the state. | |
Element< series_set_t, series_set_elt_value_t > | get_final (const hstate_t &state) const |
Return the final multiplicity of the state. | |
hstate_t | add_state () |
Add a new state to the automaton. | |
hstate_t | get_state (unsigned state) const |
Return a state descriptor for state number 'state'. | |
hstate_t | choose_state () const |
Return a randomly chosen state. | |
htransition_t | add_transition (const hstate_t &src, const hstate_t &dst, const label_t &label) |
Add a new transition between src and dst labelled by label . | |
htransition_t | add_weighted_transition (const hstate_t &src, const hstate_t &dst, const semiring_elt_t &w, const monoid_elt_value_t &m) |
Add a new weighted transition, specifying a semiring element and a monoid element. | |
htransition_t | add_series_transition (const hstate_t &src, const hstate_t &dst, const series_set_elt_t &e) |
Add a transition using a series. | |
htransition_t | add_spontaneous (const hstate_t &src, const hstate_t &dst, const semiring_elt_t &w) |
Add a spontaneous transition between src and dst . | |
htransition_t | add_letter_transition (const hstate_t &src, const hstate_t &dst, const letter_t &l) |
Add a transition between src and dst labelled by a letter. | |
htransition_t | add_letter_transition (const hstate_t &src, const hstate_t &dst, const std::string &l) |
Add a transition between src and dst labelled by a letter from its literal representation. | |
void | update (const htransition_t &e, const label_t &l) |
Update the label of a transition. | |
void | del_state (const hstate_t &state) |
Delete the state s . | |
void | del_transition (const htransition_t &e) |
Delete the transition e . | |
bool | has_state (const hstate_t &state) const |
Check if the state s is in the automaton. | |
bool | has_transition (const htransition_t &e) const |
Check if the transition e is in the automaton. | |
hstate_t | src_of (const htransition_t &e) const |
Return the origin of the transition e . | |
hstate_t | dst_of (const htransition_t &e) const |
Return the aim of the transition e . | |
automaton_traits< T >::label_t | label_of (const htransition_t &e) const |
Return the label of the transition e . | |
series_set_elt_t | series_of (const htransition_t &e) const |
Return the label seen as a series. | |
series_set_elt_value_t | series_value_of (const htransition_t &e) const |
Return the label seen as a series implementation. | |
bool | is_spontaneous (const htransition_t &e) const |
Return true if the transition is spontaneous. | |
monoid_elt_t | word_of (const htransition_t &e) const |
Return the label seen as a word. | |
semiring_elt_t | weight_of (const htransition_t &e) const |
Return the label seen as a weight. | |
monoid_elt_value_t | word_value_of (const htransition_t &e) const |
Returns the label seen as word implementation. | |
letter_t | letter_of (const htransition_t &e) const |
Return the label seen as a letter. | |
Protected Member Functions | |
MetaElement (const MetaElement &other) | |
Copy constructor. |
Services of every element of the transducer set.
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 126 of file transducer_base.hh.
automaton_traits< T >::htransition_t add_io_transition | ( | typename automaton_traits< T >::hstate_t | from, | |
typename automaton_traits< T >::hstate_t | to, | |||
const U & | i, | |||
const V & | o, | |||
output_semiring_elt_t | w = output_semiring_elt_t() | |||
) |
Add a transition specified as an input word value, an output word value and a weight linked to it.
Definition at line 61 of file transducer_base.hxx.
void set_o_initial | ( | typename automaton_traits< T >::hstate_t | initial, | |
const U & | o | |||
) |
Set a weight on the initial transition, specifying an output_monoid value.
Definition at line 130 of file transducer_base.hxx.
References Element< S, T >::value().
const MetaElement< AutomataBase< Self >, T >::series_set_t & series | ( | ) | const [inherited] |
The set of series from which is build the automaton.
The optional information aggregated to the automaton.
Definition at line 113 of file automata_base.hxx.
MetaElement< AutomataBase< Self >, T >::tag_t & tag | ( | ) | [inherited] |
The optional information aggregated to the automaton.
Definition at line 57 of file automata_base.hxx.
const MetaElement< AutomataBase< Self >, T >::tag_t & tag | ( | ) | const [inherited] |
The optional information aggregated to the automaton.
Definition at line 65 of file automata_base.hxx.
MetaElement< AutomataBase< Self >, T >::geometry_t & geometry | ( | ) | [inherited] |
The optional geometry information aggregated to the automaton.
Definition at line 73 of file automata_base.hxx.
const MetaElement< AutomataBase< Self >, T >::geometry_t & geometry | ( | ) | const [inherited] |
The optional geometry information aggregated to the automaton.
Definition at line 81 of file automata_base.hxx.
bool exists | ( | ) | const [inherited] |
Return true if the automaton is consistent.
Definition at line 89 of file automata_base.hxx.
References vcsn::op_exists().
automaton_traits< T >::states_t states | ( | ) | const [inherited] |
FIXME: These next two methods should really be replaced with (single, i.e.
Accessor to the set of states.
not begin and end) iterators. (See Trac #191.) Accessor to the set of states. (treat as const)
(treat as const)
Definition at line 97 of file automata_base.hxx.
References vcsn::op_states().
automaton_traits< T >::transitions_t transitions | ( | ) | const [inherited] |
Accessor to the set of transitions. (treat as const).
Accessor to the set of transitions.
(treat as const)
Definition at line 105 of file automata_base.hxx.
References vcsn::op_transitions().
automaton_traits< T >::initial_support_t initial | ( | ) | const [inherited] |
Accessor to the initial application.
Definition at line 121 of file automata_base.hxx.
References vcsn::op_initial().
automaton_traits< T >::final_support_t final | ( | ) | const [inherited] |
Accessor to the final application.
Definition at line 130 of file automata_base.hxx.
References vcsn::op_final().
void clear_initial | ( | ) | [inherited] |
Make the support of the initial application to be empty.
Definition at line 295 of file automata_base.hxx.
References vcsn::op_clear_initial().
void clear_final | ( | ) | [inherited] |
Make the support of the final application to be empty.
Definition at line 303 of file automata_base.hxx.
References vcsn::op_clear_final().
automaton_traits< T >::hstate_t add_state | ( | ) | [inherited] |
Add a new state to the automaton.
Definition at line 341 of file automata_base.hxx.
References vcsn::op_add_state().
automaton_traits< T >::hstate_t get_state | ( | unsigned | state | ) | const [inherited] |
Return a state descriptor for state number 'state'.
Definition at line 349 of file automata_base.hxx.
References vcsn::op_get_state().
automaton_traits< T >::hstate_t choose_state | ( | ) | const [inherited] |
Return a randomly chosen state.
(valid only if the automaton is not empty)
Definition at line 358 of file automata_base.hxx.
References vcsn::op_choose_state().
htransition_t add_weighted_transition | ( | const hstate_t & | src, | |
const hstate_t & | dst, | |||
const semiring_elt_t & | w, | |||
const monoid_elt_value_t & | m | |||
) | [inherited] |
Add a new weighted transition, specifying a semiring element and a monoid element.
htransition_t add_series_transition | ( | const hstate_t & | src, | |
const hstate_t & | dst, | |||
const series_set_elt_t & | e | |||
) | [inherited] |
Add a transition using a series.
If the underlying implementation is not sufficiently general to support this operation, you will have several transitions created.
letter_t letter_of | ( | const htransition_t & | e | ) | const [inherited] |
Return the label seen as a letter.
Be careful, when you have more general label this method is ! probably invalidated (in that case, an exception should be ! raised.)