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

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

Services of every element of the transducer set. More...

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

Inheritance graph
[legend]
List of all members.

Public Types

typedef MetaElement< TransducerBase<
Self >, T > 
self_t
typedef MetaElement< AutomataBase<
Self >, T > 
mother_t
typedef mother_t::weight_t output_serie_t
typedef automaton_traits<
T >::weight_value_t 
weight_value_t
typedef weights_t::monoid_t output_monoid_t
typedef Element< output_monoid_t,
output_monoid_elt_value_t > 
output_monoid_elt_t
typedef mother_t::monoid_elt_value_t input_monoid_elt_value_t
typedef mother_t::monoid_t input_monoid_t
typedef algebra::series_traits<
weight_value_t >::weight_value_t 
output_weight_value_t
typedef weights_t::weights_t output_weights_t
typedef Element< output_weights_t,
output_weight_value_t
output_weight_t
typedef AutomataBase< Self
>::series_t 
series_t
typedef automaton_traits<
T >::serie_value_t 
serie_value_t
typedef Element< series_t,
serie_value_t
serie_t
typedef series_t::monoid_t monoid_t
typedef serie_t::monoid_elt_t monoid_elt_t
typedef monoid_elt_t::value_t monoid_elt_value_t
typedef monoid_t::letter_t letter_t
typedef series_t::weights_t weights_t
typedef series_elt_t::weight_t weight_t
typedef automaton_traits<
T >::tag_t 
tag_t
typedef automaton_traits<
T >::label_t 
label_t
typedef automaton_traits<
T >::states_t 
states_t
typedef automaton_traits<
T >::state_iterator 
state_iterator
typedef automaton_traits<
T >::edges_t 
edges_t
typedef automaton_traits<
T >::edge_iterator 
edge_iterator
typedef automaton_traits<
T >::initial_t 
initial_t
typedef automaton_traits<
T >::initial_support_t 
initial_support_t
typedef automaton_traits<
T >::initial_iterator 
initial_iterator
typedef automaton_traits<
T >::final_t 
final_t
typedef automaton_traits<
T >::final_iterator 
final_iterator

Public Methods

input_monoid_elt_t input_of (hedge_t) const
output_serie_t output_of (hedge_t) const
hedge_t add_io_edge (hstate_t, hstate_t, input_monoid_elt_t, output_monoid_elt_t, output_weight_t=output_weight_t())
hedge_t add_io_edge (hstate_t, hstate_t, input_letter_t, output_letter_t, output_weight_t=output_weight_t())
hedge_t add_o_edge (hstate_t, hstate_t, output_letter_t, output_weight_t=output_weight_t())
hedge_t add_i_edge (hstate_t, hstate_t, input_letter_t, output_weight_t=output_weight_t())
const series_tseries () const
tag_ttag ()
const tag_ttag () const
bool exists () const
automaton_traits< T >::states_t states () const
automaton_traits< T >::edges_t edges () const
automaton_traits< T >::initial_support_t initial () const
automaton_traits< T >::final_support_t final () const
bool is_initial (hstate_t state) const
bool is_final (hstate_t state) const
void set_initial (hstate_t state)
void set_initial (hstate_t state, const serie_t &m)
void set_final (hstate_t state)
void set_final (hstate_t state, const serie_t &m)
void unset_initial (hstate_t state)
void unset_final (hstate_t state)
void clear_initial ()
void clear_final ()
Element< series_t, serie_value_tget_initial (hstate_t state) const
Element< series_t, serie_value_tget_final (hstate_t what) const
hstate_t add_state ()
hstate_t choose_state () const
hedge_t add_edge (hstate_t from, hstate_t to, const label_t &label)
hedge_t add_serie_edge (hstate_t from, hstate_t to, const serie_t &e)
hedge_t add_spontaneous (hstate_t from, hstate_t to)
hedge_t add_letter_edge (hstate_t from, hstate_t to, const letter_t &l)
void update (hedge_t e, const label_t &l)
void del_state (hstate_t s)
void del_edge (hedge_t e)
void safe_del_state (hstate_t s)
bool has_state (hstate_t s) const
bool has_edge (hedge_t e) const
hstate_t origin_of (hedge_t e) const
hstate_t aim_of (hedge_t e) const
automaton_traits< T >::label_t label_of (hedge_t e) const
serie_t serie_of (hedge_t e) const
serie_value_t serie_value_of (hedge_t e) const
bool is_spontaneous (hedge_t e) const
monoid_elt_t word_of (hedge_t e) const
monoid_elt_value_t word_value_of (hedge_t e) const
letter_t letter_of (hedge_t e) const
template<typename OutputIterator> void delta (OutputIterator res, hstate_t from, delta_kind::edges k) const
template<typename OutputIterator, typename L> void delta (OutputIterator res, hstate_t from, const L &query, delta_kind::edges k) const
template<typename OutputIterator> void delta (OutputIterator res, hstate_t from, delta_kind::states k) const
template<typename OutputIterator, typename L> void delta (OutputIterator res, hstate_t from, const L &query, delta_kind::states k) const
template<typename OutputIterator, typename L> void letter_delta (OutputIterator res, hstate_t from, const L &letter, delta_kind::edges k) const
template<typename OutputIterator, typename L> void letter_delta (OutputIterator res, hstate_t from, const L &letter, delta_kind::states k) const
template<typename OutputIterator> void spontaneous_delta (OutputIterator res, hstate_t from, delta_kind::edges k) const
template<typename OutputIterator> void spontaneous_delta (OutputIterator res, hstate_t from, delta_kind::states k) const
template<typename Container> void deltac (Container &res, hstate_t from, delta_kind::edges k) const
template<typename Container, typename L> void deltac (Container &res, hstate_t from, const L &query, delta_kind::edges k) const
template<typename Container> void deltac (Container &res, hstate_t from, delta_kind::states k) const
template<typename Container, typename L> void deltac (Container &res, hstate_t from, const L &query, delta_kind::states k) const
template<typename Container, typename L> void letter_deltac (Container &res, hstate_t from, const L &letter, delta_kind::edges k) const
template<typename Container, typename L> void letter_deltac (Container &res, hstate_t from, const L &letter, delta_kind::states k) const
template<typename Container> void spontaneous_deltac (Container &res, hstate_t from, delta_kind::edges k) const
template<typename Container> void spontaneous_deltac (Container &res, hstate_t from, delta_kind::states k) const
template<typename OutputIterator> void rdelta (OutputIterator res, hstate_t from, delta_kind::edges k) const
template<typename OutputIterator, typename L> void rdelta (OutputIterator res, hstate_t from, const L &query, delta_kind::edges k) const
template<typename OutputIterator> void rdelta (OutputIterator res, hstate_t from, delta_kind::states k) const
template<typename OutputIterator, typename L> void rdelta (OutputIterator res, hstate_t from, const L &query, delta_kind::states k) const
template<typename OutputIterator, typename L> void letter_rdelta (OutputIterator res, hstate_t from, const L &letter, delta_kind::edges k) const
template<typename OutputIterator, typename L> void letter_rdelta (OutputIterator res, hstate_t from, const L &letter, delta_kind::states k) const
template<typename OutputIterator> void spontaneous_rdelta (OutputIterator res, hstate_t from, delta_kind::edges k) const
template<typename OutputIterator> void spontaneous_rdelta (OutputIterator res, hstate_t from, delta_kind::states k) const
template<typename Container> void rdeltac (Container &res, hstate_t from, delta_kind::edges k) const
template<typename Container, typename L> void rdeltac (Container &res, hstate_t from, const L &query, delta_kind::edges k) const
template<typename Container> void rdeltac (Container &res, hstate_t from, delta_kind::states k) const
template<typename Container, typename L> void rdeltac (Container &res, hstate_t from, const L &query, delta_kind::states k) const
template<typename Container, typename L> void letter_rdeltac (Container &res, hstate_t from, const L &letter, delta_kind::edges k) const
template<typename Container, typename L> void letter_rdeltac (Container &res, hstate_t from, const L &letter, delta_kind::states k) const
template<typename Container> void spontaneous_rdeltac (Container &res, hstate_t from, delta_kind::edges k) const
template<typename Container> void spontaneous_rdeltac (Container &res, hstate_t from, delta_kind::states k) const

Protected Methods

 MetaElement (const MetaElement &other)

Detailed Description

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

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.


Member Typedef Documentation

typedef MetaElement<TransducerBase<Self>, T> self_t
 

type of the interface of an automaton.

Reimplemented from vcsn::MetaElement< AutomataBase< Self >, T >.

typedef MetaElement<AutomataBase<Self>, T> mother_t
 

type of the mother class.

typedef mother_t::weight_t output_serie_t
 

type of the output.

typedef automaton_traits<T>::weight_value_t weight_value_t
 

type of the output monoid element implementation.

Reimplemented from vcsn::MetaElement< AutomataBase< Self >, T >.

typedef weights_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<weight_value_t>::weight_value_t output_weight_value_t
 

type of the output weight implementation.

typedef weights_t::weights_t output_weights_t
 

type of the output weights.

typedef Element<output_weights_t, output_weight_value_t> output_weight_t
 

type of the output weight.

typedef AutomataBase<Self>::series_t series_t [inherited]
 

type the series set from which is build the automaton.

typedef automaton_traits<T>::serie_value_t serie_value_t [inherited]
 

type of the implementation of series that holds the automaton.

typedef Element<series_t, serie_value_t> serie_t [inherited]
 

type of the element of the set of series that holds the automaton.

typedef series_t::monoid_t monoid_t [inherited]
 

type of the free monoid.

typedef serie_t::monoid_elt_t monoid_elt_t [inherited]
 

type of the free monoid element.

typedef monoid_elt_t::value_t monoid_elt_value_t [inherited]
 

type of the implementation of a word.

typedef monoid_t::letter_t letter_t [inherited]
 

type of the letter.

typedef series_t::weights_t weights_t [inherited]
 

type of the weights set.

typedef series_elt_t::weight_t weight_t [inherited]
 

type of the free monoid element.

typedef automaton_traits<T>::tag_t tag_t [inherited]
 

type of additional information that is aggregated to the automaton.

typedef automaton_traits<T>::label_t label_t [inherited]
 

type of the label of the automaton implementation.

typedef automaton_traits<T>::states_t states_t [inherited]
 

type of the states container.

typedef automaton_traits<T>::state_iterator state_iterator [inherited]
 

type of the iterator over the states set.

typedef automaton_traits<T>::edges_t edges_t [inherited]
 

type of the edges set.

typedef automaton_traits<T>::edge_iterator edge_iterator [inherited]
 

type of the iterator over the edges.

typedef automaton_traits<T>::initial_t initial_t [inherited]
 

type of the initial application.

typedef automaton_traits<T>::initial_support_t initial_support_t [inherited]
 

type of the initial application support.

typedef automaton_traits<T>::initial_iterator initial_iterator [inherited]
 

type of the iterator of the initial application support.

typedef automaton_traits<T>::final_t final_t [inherited]
 

type of the final application.

typedef automaton_traits<T>::final_iterator final_iterator [inherited]
 

type of the iterator of the final application support.


Member Function Documentation

MetaElement< TransducerBase< Self >, T >::input_monoid_elt_t input_of hedge_t    const [inline]
 

return the input of an edge

MetaElement< TransducerBase< Self >, T >::output_serie_t output_of hedge_t    const [inline]
 

return the output of an edge

hedge_t add_io_edge hstate_t   ,
hstate_t   ,
input_monoid_elt_t   ,
output_monoid_elt_t   ,
output_weight_t    = output_weight_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_weight_t    = output_weight_t()
[inline]
 

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_weight_t    = output_weight_t()
[inline]
 

add an only-output edge (epsilon as input).

hedge_t add_i_edge hstate_t   ,
hstate_t   ,
input_letter_t   ,
output_weight_t    = output_weight_t()
[inline]
 

add an only-input edge (epsilon as output).

MetaElement const MetaElement< TransducerBase< Self >, T > &    a [inline, protected]
 

copy constructor

Reimplemented from vcsn::MetaElement< AutomataBase< Self >, T >.

const MetaElement< AutomataBase< Self >, T >::series_t & series   const [inline, inherited]
 

the set of series from which is build the automaton (const version).

MetaElement< AutomataBase< Self >, T >::tag_t & tag   [inline, inherited]
 

the optional information aggregated to the automaton.

const MetaElement< AutomataBase< Self >, T >::tag_t & tag   const [inline, inherited]
 

the optional information aggregated to the automaton.

bool exists   const [inline, inherited]
 

return true if the automaton is consistent.

automaton_traits< T >::states_t states   const [inline, inherited]
 

accessor to the set of states. (const version)

automaton_traits< T >::edges_t edges   const [inline, inherited]
 

accessor to the set of states. (const version)

automaton_traits< T >::initial_support_t initial   const [inline, inherited]
 

accessor to the initial application.

automaton_traits< T >::final_support_t final   const [inline, inherited]
 

accessor to the final application.

bool is_initial hstate_t    state const [inline, inherited]
 

return true if the state is initial (ie it is in the initial support) .

bool is_final hstate_t    state const [inline, inherited]
 

return true if the state is final (ie it is in the final support).

void set_initial hstate_t    state [inline, inherited]
 

set the state to be initial.

void set_initial hstate_t    state,
const serie_t   m
[inherited]
 

set an initial multiplicity to the state.

void set_final hstate_t    state [inline, inherited]
 

set the state to be final.

void set_final hstate_t    state,
const serie_t   m
[inherited]
 

set a final multiplicity to the state.

void unset_initial hstate_t    state [inline, inherited]
 

set the state not to be initial.

void unset_final hstate_t    state [inline, inherited]
 

set the set not to be final.

void clear_initial   [inline, inherited]
 

make the support of the initial application to be empty.

void clear_final   [inline, inherited]
 

make the support of the final application to be empty.

MetaElement< AutomataBase< Self >, T >::serie_t get_initial hstate_t    state const [inline, inherited]
 

return the initial multiplicity of the state.

MetaElement< AutomataBase< Self >, T >::serie_t get_final hstate_t    what const [inline, inherited]
 

return the final multiplicity of the state.

hstate_t add_state   [inline, inherited]
 

add a new state to the automaton.

hstate_t choose_state   const [inline, inherited]
 

return a randomly chosen state. (valid only if the automaton is not empty)

hedge_t add_edge hstate_t    from,
hstate_t    to,
const label_t   label
[inline, inherited]
 

add a new edge between 'from' and 'to' labelled by 'label'

hedge_t add_serie_edge hstate_t    from,
hstate_t    to,
const serie_t   e
[inline, inherited]
 

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
[inline, inherited]
 

add a spontaneous transition between 'from' and 'to'.

hedge_t add_letter_edge hstate_t    from,
hstate_t    to,
const letter_t   l
[inline, inherited]
 

add a transition between 'from' and 'to' labelled by a letter.

void update hedge_t    e,
const label_t   l
[inline, inherited]
 

update the label of an edge.

void del_state hstate_t    s [inline, inherited]
 

delete the state 's'.

void del_edge hedge_t    e [inline, inherited]
 

delete the edge 'e'.

void safe_del_state hstate_t    s [inline, inherited]
 

delete the state 's' and every references to it in the automaton.

bool has_state hstate_t    s const [inline, inherited]
 

check if the state 's' is in the automaton.

bool has_edge hedge_t    e const [inline, inherited]
 

check if the edge 'e' is in the automaton.

hstate_t origin_of hedge_t    e const [inline, inherited]
 

return the origin of the edge 'e'.

hstate_t aim_of hedge_t    e const [inline, inherited]
 

return the aim of the edge 'e'.

automaton_traits< T >::label_t label_of hedge_t    e const [inline, inherited]
 

return the label of the edge 'e'.

MetaElement< AutomataBase< Self >, T >::serie_t serie_of hedge_t    e const [inline, inherited]
 

return the label seen as a serie.

MetaElement< AutomataBase< Self >, T >::serie_value_t serie_value_of hedge_t    e const [inline, inherited]
 

return the label seen as a serie implementation.

bool is_spontaneous hedge_t    e const [inline, inherited]
 

return true if the transition is spontaneous.

MetaElement< AutomataBase< Self >, T >::monoid_elt_t word_of hedge_t    e const [inline, inherited]
 

return the label seen as a word.

MetaElement< AutomataBase< Self >, T >::monoid_elt_value_t word_value_of hedge_t    e const [inline, inherited]
 

returns the label seen as word implementation.

MetaElement< AutomataBase< Self >, T >::letter_t letter_of hedge_t    e const [inline, inherited]
 

Becareful, when you have more general label this method is ! probably invalidated (in that case, an exception should be ! raised.)

void delta OutputIterator    res,
hstate_t    from,
delta_kind::edges    k
const [inline, inherited]
 

store the output edges of the state 'from' using 'res'.

void delta OutputIterator    res,
hstate_t    from,
const L &    query,
delta_kind::edges    k
const [inline, inherited]
 

store the output edges of the state 'from' where query(a.set(), a.value(), e)) = true using 'res'.

void delta OutputIterator    res,
hstate_t    from,
delta_kind::states    k
const [inline, inherited]
 

store the output states of the state 'from' using 'res'.

void delta OutputIterator    res,
hstate_t    from,
const L &    query,
delta_kind::states    k
const [inline, inherited]
 

store the output states of the state 'from' where query(label(e)) = true using 'res'.

void letter_delta OutputIterator    res,
hstate_t    from,
const L &    letter,
delta_kind::edges    k
const [inline, inherited]
 

store the output edges of the state 'from' where the label matches the letter.

void letter_delta OutputIterator    res,
hstate_t    from,
const L &    letter,
delta_kind::states    k
const [inline, inherited]
 

store the output states of the state 'from' where the label matches the letter.

void spontaneous_delta OutputIterator    res,
hstate_t    from,
delta_kind::edges    k
const [inline, inherited]
 

store the output spontaneous transitions.

void spontaneous_delta OutputIterator    res,
hstate_t    from,
delta_kind::states    k
const [inline, inherited]
 

store the output spontaneous transitions.

void deltac Container &    res,
hstate_t    from,
delta_kind::edges    k
const [inline, inherited]
 

store the output edges of the state 'from' in the container 'res'

void deltac Container &    res,
hstate_t    from,
const L &    query,
delta_kind::edges    k
const [inline, inherited]
 

store the output edges of the state 'from' where query(label(e)) = true in the container 'res'

void deltac Container &    res,
hstate_t    from,
delta_kind::states    k
const [inline, inherited]
 

store the output states of the state 'from' in the container 'res'

void deltac Container &    res,
hstate_t    from,
const L &    query,
delta_kind::states    k
const [inline, inherited]
 

store the output states of the state 'from' where query(label(e)) = true in the container 'res'

void letter_deltac Container &    res,
hstate_t    from,
const L &    letter,
delta_kind::edges    k
const [inline, inherited]
 

store the output edges of the state 'from' where query(label(e)) = true in the container 'res'

void letter_deltac Container &    res,
hstate_t    from,
const L &    letter,
delta_kind::states    k
const [inline, inherited]
 

store the output states of the state 'from' where query(label(e)) = true in the container 'res'

void spontaneous_deltac Container &    res,
hstate_t    from,
delta_kind::edges    k
const [inline, inherited]
 

store the output spontaneous transitions.

void spontaneous_deltac Container &    res,
hstate_t    from,
delta_kind::states    k
const [inline, inherited]
 

store the output spontaneous transitions.

void rdelta OutputIterator    res,
hstate_t    from,
delta_kind::edges    k
const [inline, inherited]
 

store the output edges of the state 'from' using 'res'.

void rdelta OutputIterator    res,
hstate_t    from,
const L &    query,
delta_kind::edges    k
const [inline, inherited]
 

store the output edges of the state 'from' where query(label(e)) = true using 'res'.

void rdelta OutputIterator    res,
hstate_t    from,
delta_kind::states    k
const [inline, inherited]
 

store the output states of the state 'from' using 'res'.

void rdelta OutputIterator    res,
hstate_t    from,
const L &    query,
delta_kind::states    k
const [inline, inherited]
 

store the output states of the state 'from' where query(label(e)) = true using 'res'.

void letter_rdelta OutputIterator    res,
hstate_t    from,
const L &    letter,
delta_kind::edges    k
const [inline, inherited]
 

store the output edges of the state 'from' where the label matches the letter.

void letter_rdelta OutputIterator    res,
hstate_t    from,
const L &    letter,
delta_kind::states    k
const [inline, inherited]
 

store the output states of the state 'from' where the label matches the letter.

void spontaneous_rdelta OutputIterator    res,
hstate_t    from,
delta_kind::edges    k
const [inline, inherited]
 

store the output spontaneous transitions.

void spontaneous_rdelta OutputIterator    res,
hstate_t    from,
delta_kind::states    k
const [inline, inherited]
 

store the output spontaneous transitions.

void rdeltac Container &    res,
hstate_t    from,
delta_kind::edges    k
const [inline, inherited]
 

store the output edges of the state 'from' in the container 'res'

void rdeltac Container &    res,
hstate_t    from,
const L &    query,
delta_kind::edges    k
const [inline, inherited]
 

store the output edges of the state 'from' where query(label(e)) = true in the container 'res'

void rdeltac Container &    res,
hstate_t    from,
delta_kind::states    k
const [inline, inherited]
 

store the output states of the state 'from' in the container 'res'

void rdeltac Container &    res,
hstate_t    from,
const L &    query,
delta_kind::states    k
const [inline, inherited]
 

store the output states of the state 'from' where query(label(e)) = true in the container 'res'

void letter_rdeltac Container &    res,
hstate_t    from,
const L &    letter,
delta_kind::edges    k
const [inline, inherited]
 

store the output edges of the state 'from' where query(label(e)) = true in the container 'res'

void letter_rdeltac Container &    res,
hstate_t    from,
const L &    letter,
delta_kind::states    k
const [inline, inherited]
 

store the output states of the state 'from' where query(label(e)) = true in the container 'res'

void spontaneous_rdeltac Container &    res,
hstate_t    from,
delta_kind::edges    k
const [inline, inherited]
 

store the output spontaneous transitions.

void spontaneous_rdeltac Container &    res,
hstate_t    from,
delta_kind::states    k
const [inline, inherited]
 

store the output spontaneous transitions.


Generated on Wed Jul 2 19:09:11 2003 for Vaucanson by doxygen1.2.14 written by Dimitri van Heesch, © 1997-2002