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

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

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

Inheritance graph
[legend]

List of all members.

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_tseries () const
 The set of series from which is build 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.
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.


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.

Definition at line 126 of file transducer_base.hh.


Member Function Documentation

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

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 
) [inline]

Set a weight on the initial transition, specifying an output_monoid value.

Definition at line 130 of file transducer_base.hxx.

References Element::value().

const MetaElement< AutomataBase< Self >, T >::series_set_t & series (  )  const [inline, 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 (  )  [inline, 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 [inline, inherited]

The optional information aggregated to the automaton.

Definition at line 65 of file automata_base.hxx.

MetaElement< AutomataBase< Self >, T >::geometry_t & geometry (  )  [inline, 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 [inline, inherited]

The optional geometry information aggregated to the automaton.

Definition at line 81 of file automata_base.hxx.

bool exists (  )  const [inline, 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 [inline, 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 [inline, 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 [inline, 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 [inline, inherited]

Accessor to the final application.

Definition at line 130 of file automata_base.hxx.

References vcsn::op_final().

void clear_initial (  )  [inline, 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 (  )  [inline, 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 (  )  [inline, 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 [inline, 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 [inline, inherited]

Return a randomly chosen state.

(valid only if the automaton is not empty)

(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.)


Generated on Thu Sep 17 22:01:57 2009 for Vaucanson by  doxygen 1.5.6