Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

MetaElement< TransducerBase< Self >, T > Struct Template Reference
[Concept]

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. More...

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

Inheritance graph
[legend]
List of all members.

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_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 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_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

 INHERIT_TYPEDEF_ (automaton_t, series_set_t)
 type the series set from which is build the automaton.
 INHERIT_TYPEDEF_ (automaton_t, series_set_elt_value_t)
 type of the implementation of series that holds the automaton.
 INHERIT_TYPEDEF_ (automaton_t, series_set_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_set_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_value_t, output_monoid_elt_value_t, output_semiring_elt_t=output_semiring_elt_t())
 add an edge specified as an input word value and output word value.
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).
void set_o_final (hstate_t, output_monoid_elt_value_t)
 set a weight on the final edge, specifying an output_monoid value.
void set_o_initial (hstate_t, output_monoid_elt_value_t)
 set a weight on the initial edge, specifying an output_monoid value.
const series_set_tseries () const
 the optional information aggregated to the automaton.
tag_ttag ()
 the optional information aggregated to the automaton.
const tag_ttag () const
 the optional information aggregated to the automaton.
geometry_tgeometry ()
 the optional geometry information aggregated to the automaton.
const geometry_tgeometry () 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_tget_initial (hstate_t state) const
 return the initial multiplicity of the state.
Element< series_set_t, series_set_elt_value_tget_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>
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

Detailed Description

template<typename Self, typename T>
struct vcsn::MetaElement< TransducerBase< Self >, T >

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.


Member Function Documentation

automaton_traits< T >::states_t states  )  const [inherited]
 

accessor to the set of states.

(const version)

automaton_traits< T >::edges_t edges  )  const [inherited]
 

accessor to the set of states.

(const version)

hstate_t choose_state  )  const [inherited]
 

return a randomly chosen state.

(valid only if the automaton is not empty)


Generated on Thu Oct 27 12:52:14 2005 for Vaucanson by  doxygen 1.4.1