Vcsn  2.0
Be Rational
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
vcsn::detail::mutable_automaton_impl< Context > Class Template Reference

#include <fwd.hh>

Collaboration diagram for vcsn::detail::mutable_automaton_impl< Context >:

Classes

struct  stored_state_t
 Data stored for each state. More...
 

Public Types

using context_t = Context
 
using automaton_nocv_t = mutable_automaton< context_t >
 The (shared pointer) type to use if we have to create an automaton of the same (underlying) type. More...
 
using labelset_t = labelset_t_of< context_t >
 
using weightset_t = weightset_t_of< context_t >
 
using kind_t = typename context_t::kind_t
 
using labelset_ptr = typename context_t::labelset_ptr
 
using weightset_ptr = typename context_t::weightset_ptr
 
using state_t = unsigned
 Lightweight state handle (or index). More...
 
using transition_t = unsigned
 Lightweight transition handle (or index). More...
 
using label_t = typename labelset_t::value_t
 Transition label. More...
 
using weight_t = typename weightset_t::value_t
 Transition weight. More...
 
using states_output_t = container_filter_range< boost::integer_range< state_t >>
 
using transitions_output_t = container_filter_range< boost::integer_range< transition_t >>
 

Public Member Functions

 mutable_automaton_impl ()=delete
 
 mutable_automaton_impl (const mutable_automaton_impl &)=delete
 
 mutable_automaton_impl (const context_t &ctx)
 
 mutable_automaton_impl (mutable_automaton_impl &&that)
 
mutable_automaton_imploperator= (mutable_automaton_impl &&that)
 
std::string vname (bool full=true) const
 
const context_tcontext () const
 
const weightset_ptrweightset () const
 
const labelset_ptrlabelset () const
 
label_t prepost_label () const
 
size_t num_all_states () const
 
size_t num_states () const
 
size_t num_initials () const
 
size_t num_finals () const
 
size_t num_transitions () const
 
bool has_state (state_t s) const
 
bool is_initial (state_t s) const
 
bool is_final (state_t s) const
 
ATTRIBUTE_PURE weight_t get_initial_weight (state_t s) const
 
ATTRIBUTE_PURE weight_t get_final_weight (state_t s) const
 
transition_t get_transition (state_t src, state_t dst, label_t l) const
 
bool has_transition (state_t src, state_t dst, label_t l) const
 
bool has_transition (transition_t t) const
 
state_t src_of (transition_t t) const
 
state_t dst_of (transition_t t) const
 
label_t label_of (transition_t t) const
 
weight_t weight_of (transition_t t) const
 
state_t new_state ()
 
std::ostream & print_state (state_t s, std::ostream &o) const
 
std::ostream & print_state_name (state_t s, std::ostream &o, const std::string &="text", bool=true) const
 
void del_state (state_t s)
 
void set_initial (state_t s, weight_t w)
 
void set_initial (state_t s)
 
weight_t add_initial (state_t s, weight_t w)
 
void unset_initial (state_t s)
 
void set_final (state_t s, weight_t w)
 
void set_final (state_t s)
 
weight_t add_final (state_t s, weight_t w)
 
void unset_final (state_t s)
 
void del_transition (transition_t t)
 
void del_transition (state_t src, state_t dst, label_t l)
 Remove the transition (src, l, dst). More...
 
void del_transition (state_t s, state_t d)
 Remove all the transitions between s and d. More...
 
transition_t new_transition (state_t src, state_t dst, label_t l, weight_t w)
 Create a transition between two states. More...
 
template<typename A >
transition_t new_transition_copy (state_t src, state_t dst, const A &aut, typename A::element_type::transition_t t, bool transpose=false)
 Copy the label of a transition between two states, creating a new transition. More...
 
transition_t new_transition (state_t src, state_t dst, label_t l)
 Same as above, with weight one. More...
 
transition_t set_transition (state_t src, state_t dst, label_t l, weight_t w)
 Set a transition between two states. More...
 
transition_t set_transition (state_t src, state_t dst, label_t l)
 Same as above, with unit weight. More...
 
weight_t add_transition (state_t src, state_t dst, label_t l, weight_t w)
 Add a transition between two states. More...
 
weight_t add_transition (state_t src, state_t dst, label_t l)
 Same as above, with weight one. More...
 
template<typename A >
weight_t add_transition_copy (state_t src, state_t dst, const A &aut, typename A::element_type::transition_t t, bool transpose=false)
 Add a transition between two states, copying the label from the given transition. More...
 
std::string format_transition (transition_t t) const
 
weight_t set_weight (transition_t t, weight_t w)
 
weight_t add_weight (transition_t t, weight_t w)
 
weight_t lmul_weight (transition_t t, weight_t w)
 
weight_t rmul_weight (transition_t t, weight_t w)
 
states_output_t all_states () const
 All states including pre()/post(). More...
 
template<typename Pred >
states_output_t all_states (Pred pred) const
 All states including pre()/post() that validate pred. More...
 
states_output_t states () const
 All states excluding pre()/post(). More...
 
template<typename Pred >
transitions_output_t all_transitions (Pred pred) const
 All the transition indexes between all states (including pre and post), that validate pred. More...
 
transitions_output_t all_transitions () const
 All the transition indexes between all states (including pre and post). More...
 
transitions_output_t transitions () const
 All the transition indexes between visible states. More...
 
container_filter_range< const
tr_cont_t & > 
initial_transitions () const
 Indexes of transitions to visible initial states. More...
 
container_filter_range< const
tr_cont_t & > 
final_transitions () const
 Indexes of transitions from visible final states. More...
 
container_range< const
tr_cont_t & > 
all_out (state_t s) const
 Indexes of all transitions leaving state s. More...
 
template<typename Pred >
container_filter_range< const
tr_cont_t & > 
all_out (state_t s, Pred pred) const
 Indexes of transitions leaving state s that validate the predicate. More...
 
container_filter_range< const
tr_cont_t & > 
out (state_t s) const
 Indexes of visible transitions leaving state s. More...
 
container_filter_range< const
tr_cont_t & > 
out (state_t s, const label_t &l) const
 Indexes of all transitions leaving state s on label l. More...
 
container_range< const
tr_cont_t & > 
all_in (state_t s) const
 Indexes of all transitions arriving to state s. More...
 
template<typename Pred >
container_filter_range< const
tr_cont_t & > 
all_in (state_t s, Pred pred) const
 Indexes of transitions entering state s that validate the predicate. More...
 
container_filter_range< const
tr_cont_t & > 
in (state_t s) const
 Indexes of visible transitions arriving to state s. More...
 
container_filter_range< const
tr_cont_t & > 
in (state_t s, const label_t &l) const
 Indexes of visible transitions arriving to state s on label l. More...
 
container_filter_range< const
tr_cont_t & > 
outin (state_t s, state_t d) const
 Indexes of visible transitions from state s to state d. More...
 

Static Public Member Functions

static std::string sname ()
 
static constexpr state_t pre ()
 
static constexpr state_t post ()
 
static constexpr state_t null_state ()
 Invalid state. More...
 
static constexpr transition_t null_transition ()
 Invalid transition. More...
 
static constexpr bool state_has_name (state_t)
 

Protected Types

using stored_transition_t = transition_tuple< state_t, label_t, weight_t >
 Data stored per transition. More...
 
using tr_store_t = std::vector< stored_transition_t >
 All the automaton's transitions. More...
 
using tr_cont_t = std::vector< transition_t >
 All the incoming/outgoing transition handles of a state. More...
 
using st_store_t = std::vector< stored_state_t >
 All the automaton's states. More...
 
using free_store_t = std::vector< unsigned >
 A list of unused indexes in the states/transitions tables. More...
 

Protected Member Functions

void del_transition_from_src (transition_t t)
 Remove t from the outgoing transitions of the source state. More...
 
void del_transition_from_dst (transition_t t)
 Remove t from the ingoing transition of the destination state. More...
 
void del_transition_container (tr_cont_t &tc, bool from_succ)
 
template<typename Pred >
states_output_t state_range (state_t b, state_t e, Pred pred) const
 The range of state numbers in [b . More...
 
states_output_t state_range (state_t b, state_t e) const
 The range of state numbers in [b .. e]. More...
 

Protected Attributes

context_t ctx_
 The algebraic type of this automaton. More...
 
st_store_t states_
 
free_store_t states_fs_
 Free indexes in states_. More...
 
tr_store_t transitions_
 
free_store_t transitions_fs_
 Free indexes in transitions_. More...
 
label_t prepost_label_
 Label for initial and final transitions. More...
 

Detailed Description

template<typename Context>
class vcsn::detail::mutable_automaton_impl< Context >

Definition at line 21 of file fwd.hh.

Member Typedef Documentation

template<typename Context >
using vcsn::detail::mutable_automaton_impl< Context >::automaton_nocv_t = mutable_automaton<context_t>

The (shared pointer) type to use if we have to create an automaton of the same (underlying) type.

Definition at line 28 of file mutable-automaton.hh.

template<typename Context >
using vcsn::detail::mutable_automaton_impl< Context >::context_t = Context

Definition at line 25 of file mutable-automaton.hh.

template<typename Context >
using vcsn::detail::mutable_automaton_impl< Context >::free_store_t = std::vector<unsigned>
protected

A list of unused indexes in the states/transitions tables.

Definition at line 68 of file mutable-automaton.hh.

template<typename Context >
using vcsn::detail::mutable_automaton_impl< Context >::kind_t = typename context_t::kind_t

Definition at line 31 of file mutable-automaton.hh.

template<typename Context >
using vcsn::detail::mutable_automaton_impl< Context >::label_t = typename labelset_t::value_t

Transition label.

Definition at line 41 of file mutable-automaton.hh.

template<typename Context >
using vcsn::detail::mutable_automaton_impl< Context >::labelset_ptr = typename context_t::labelset_ptr

Definition at line 33 of file mutable-automaton.hh.

template<typename Context >
using vcsn::detail::mutable_automaton_impl< Context >::labelset_t = labelset_t_of<context_t>

Definition at line 29 of file mutable-automaton.hh.

template<typename Context >
using vcsn::detail::mutable_automaton_impl< Context >::st_store_t = std::vector<stored_state_t>
protected

All the automaton's states.

Definition at line 65 of file mutable-automaton.hh.

template<typename Context >
using vcsn::detail::mutable_automaton_impl< Context >::state_t = unsigned

Lightweight state handle (or index).

Definition at line 37 of file mutable-automaton.hh.

template<typename Context >
using vcsn::detail::mutable_automaton_impl< Context >::states_output_t = container_filter_range<boost::integer_range<state_t>>

Definition at line 689 of file mutable-automaton.hh.

template<typename Context >
using vcsn::detail::mutable_automaton_impl< Context >::stored_transition_t = transition_tuple<state_t, label_t, weight_t>
protected

Data stored per transition.

Definition at line 50 of file mutable-automaton.hh.

template<typename Context >
using vcsn::detail::mutable_automaton_impl< Context >::tr_cont_t = std::vector<transition_t>
protected

All the incoming/outgoing transition handles of a state.

Definition at line 55 of file mutable-automaton.hh.

template<typename Context >
using vcsn::detail::mutable_automaton_impl< Context >::tr_store_t = std::vector<stored_transition_t>
protected

All the automaton's transitions.

Definition at line 53 of file mutable-automaton.hh.

template<typename Context >
using vcsn::detail::mutable_automaton_impl< Context >::transition_t = unsigned

Lightweight transition handle (or index).

Definition at line 39 of file mutable-automaton.hh.

template<typename Context >
using vcsn::detail::mutable_automaton_impl< Context >::transitions_output_t = container_filter_range<boost::integer_range<transition_t>>

Definition at line 737 of file mutable-automaton.hh.

template<typename Context >
using vcsn::detail::mutable_automaton_impl< Context >::weight_t = typename weightset_t::value_t

Transition weight.

Definition at line 43 of file mutable-automaton.hh.

template<typename Context >
using vcsn::detail::mutable_automaton_impl< Context >::weightset_ptr = typename context_t::weightset_ptr

Definition at line 34 of file mutable-automaton.hh.

template<typename Context >
using vcsn::detail::mutable_automaton_impl< Context >::weightset_t = weightset_t_of<context_t>

Definition at line 30 of file mutable-automaton.hh.

Constructor & Destructor Documentation

template<typename Context >
vcsn::detail::mutable_automaton_impl< Context >::mutable_automaton_impl ( )
delete
template<typename Context >
vcsn::detail::mutable_automaton_impl< Context >::mutable_automaton_impl ( const mutable_automaton_impl< Context > &  )
delete
template<typename Context >
vcsn::detail::mutable_automaton_impl< Context >::mutable_automaton_impl ( const context_t ctx)
inline

Definition at line 82 of file mutable-automaton.hh.

template<typename Context >
vcsn::detail::mutable_automaton_impl< Context >::mutable_automaton_impl ( mutable_automaton_impl< Context > &&  that)
inline

Definition at line 88 of file mutable-automaton.hh.

Member Function Documentation

template<typename Context >
weight_t vcsn::detail::mutable_automaton_impl< Context >::add_final ( state_t  s,
weight_t  w 
)
inline

Definition at line 409 of file mutable-automaton.hh.

References vcsn::detail::mutable_automaton_impl< Context >::add_transition(), vcsn::detail::mutable_automaton_impl< Context >::post(), and vcsn::detail::mutable_automaton_impl< Context >::prepost_label_.

Here is the call graph for this function:

template<typename Context >
weight_t vcsn::detail::mutable_automaton_impl< Context >::add_initial ( state_t  s,
weight_t  w 
)
inline

Definition at line 385 of file mutable-automaton.hh.

References vcsn::detail::mutable_automaton_impl< Context >::add_transition(), vcsn::detail::mutable_automaton_impl< Context >::pre(), and vcsn::detail::mutable_automaton_impl< Context >::prepost_label_.

Here is the call graph for this function:

template<typename Context >
weight_t vcsn::detail::mutable_automaton_impl< Context >::add_transition ( state_t  src,
state_t  dst,
label_t  l,
weight_t  w 
)
inline

Add a transition between two states.

Merge with an existing one with same label.

Parameters
srcsource state
dstdestination state
llabel of the transition
wweight of the transition
Precondition
the label is not checked, for efficiency. Letters out of the alphabet will be accepted.

Definition at line 590 of file mutable-automaton.hh.

References vcsn::detail::mutable_automaton_impl< Context >::get_transition(), vcsn::detail::mutable_automaton_impl< Context >::new_transition(), vcsn::detail::mutable_automaton_impl< Context >::null_transition(), vcsn::detail::mutable_automaton_impl< Context >::set_weight(), vcsn::detail::mutable_automaton_impl< Context >::weight_of(), and vcsn::detail::mutable_automaton_impl< Context >::weightset().

Referenced by vcsn::detail::mutable_automaton_impl< Context >::add_final(), vcsn::detail::mutable_automaton_impl< Context >::add_initial(), vcsn::detail::mutable_automaton_impl< Context >::add_transition(), and vcsn::detail::mutable_automaton_impl< Context >::add_transition_copy().

Here is the call graph for this function:

template<typename Context >
weight_t vcsn::detail::mutable_automaton_impl< Context >::add_transition ( state_t  src,
state_t  dst,
label_t  l 
)
inline

Same as above, with weight one.

Definition at line 605 of file mutable-automaton.hh.

References vcsn::detail::mutable_automaton_impl< Context >::add_transition(), and vcsn::detail::mutable_automaton_impl< Context >::weightset().

Here is the call graph for this function:

template<typename Context >
template<typename A >
weight_t vcsn::detail::mutable_automaton_impl< Context >::add_transition_copy ( state_t  src,
state_t  dst,
const A &  aut,
typename A::element_type::transition_t  t,
bool  transpose = false 
)
inline

Add a transition between two states, copying the label from the given transition.

Merge with an existing one with same label.

Parameters
srcsource state
dstdestination state
autthe automaton whose transition will be copied.
ttransition of aut whose label and weight are to copy
transposewhether label and weight should be transposed
Precondition
the label is not checked, for efficiency. Letters out of the alphabet will be accepted.

Definition at line 623 of file mutable-automaton.hh.

References vcsn::detail::mutable_automaton_impl< Context >::add_transition(), vcsn::conv(), vcsn::detail::mutable_automaton_impl< Context >::labelset(), vcsn::transpose(), and vcsn::detail::mutable_automaton_impl< Context >::weightset().

Here is the call graph for this function:

template<typename Context >
weight_t vcsn::detail::mutable_automaton_impl< Context >::add_weight ( transition_t  t,
weight_t  w 
)
inline

Definition at line 668 of file mutable-automaton.hh.

References vcsn::detail::mutable_automaton_impl< Context >::set_weight(), vcsn::detail::mutable_automaton_impl< Context >::weight_of(), and vcsn::detail::mutable_automaton_impl< Context >::weightset().

Here is the call graph for this function:

template<typename Context >
container_range<const tr_cont_t&> vcsn::detail::mutable_automaton_impl< Context >::all_in ( state_t  s) const
inline

Indexes of all transitions arriving to state s.

Invalidated by del_transition() and del_state().

Definition at line 834 of file mutable-automaton.hh.

References vcsn::detail::mutable_automaton_impl< Context >::has_state(), and vcsn::detail::mutable_automaton_impl< Context >::states_.

Referenced by vcsn::detail::mutable_automaton_impl< Context >::in().

Here is the call graph for this function:

template<typename Context >
template<typename Pred >
container_filter_range<const tr_cont_t&> vcsn::detail::mutable_automaton_impl< Context >::all_in ( state_t  s,
Pred  pred 
) const
inline

Indexes of transitions entering state s that validate the predicate.

Invalidated by del_transition() and del_state().

Definition at line 846 of file mutable-automaton.hh.

References vcsn::detail::mutable_automaton_impl< Context >::has_state(), and vcsn::detail::mutable_automaton_impl< Context >::states_.

Here is the call graph for this function:

template<typename Context >
container_range<const tr_cont_t&> vcsn::detail::mutable_automaton_impl< Context >::all_out ( state_t  s) const
inline

Indexes of all transitions leaving state s.

Invalidated by del_transition() and del_state().

Definition at line 791 of file mutable-automaton.hh.

References vcsn::detail::mutable_automaton_impl< Context >::has_state(), and vcsn::detail::mutable_automaton_impl< Context >::states_.

Referenced by vcsn::detail::mutable_automaton_impl< Context >::out(), and vcsn::detail::mutable_automaton_impl< Context >::outin().

Here is the call graph for this function:

template<typename Context >
template<typename Pred >
container_filter_range<const tr_cont_t&> vcsn::detail::mutable_automaton_impl< Context >::all_out ( state_t  s,
Pred  pred 
) const
inline

Indexes of transitions leaving state s that validate the predicate.

Invalidated by del_transition() and del_state().

Definition at line 803 of file mutable-automaton.hh.

References vcsn::detail::mutable_automaton_impl< Context >::has_state(), and vcsn::detail::mutable_automaton_impl< Context >::states_.

Here is the call graph for this function:

template<typename Context >
states_output_t vcsn::detail::mutable_automaton_impl< Context >::all_states ( ) const
inline

All states including pre()/post().

Guaranteed in increasing order.

Definition at line 720 of file mutable-automaton.hh.

References vcsn::detail::mutable_automaton_impl< Context >::state_range(), and vcsn::detail::mutable_automaton_impl< Context >::states_.

Here is the call graph for this function:

template<typename Context >
template<typename Pred >
states_output_t vcsn::detail::mutable_automaton_impl< Context >::all_states ( Pred  pred) const
inline

All states including pre()/post() that validate pred.

Guaranteed in increasing order.

Definition at line 726 of file mutable-automaton.hh.

References vcsn::detail::mutable_automaton_impl< Context >::state_range(), and vcsn::detail::mutable_automaton_impl< Context >::states_.

Here is the call graph for this function:

template<typename Context >
template<typename Pred >
transitions_output_t vcsn::detail::mutable_automaton_impl< Context >::all_transitions ( Pred  pred) const
inline

All the transition indexes between all states (including pre and post), that validate pred.

Definition at line 743 of file mutable-automaton.hh.

References vcsn::detail::mutable_automaton_impl< Context >::null_state(), vcsn::detail::mutable_automaton_impl< Context >::src_of(), and vcsn::detail::mutable_automaton_impl< Context >::transitions_.

Here is the call graph for this function:

template<typename Context >
transitions_output_t vcsn::detail::mutable_automaton_impl< Context >::all_transitions ( ) const
inline

All the transition indexes between all states (including pre and post).

Definition at line 758 of file mutable-automaton.hh.

Referenced by vcsn::detail::mutable_automaton_impl< Context >::transitions().

template<typename Context >
const context_t& vcsn::detail::mutable_automaton_impl< Context >::context ( ) const
inline
template<typename Context >
void vcsn::detail::mutable_automaton_impl< Context >::del_transition ( state_t  src,
state_t  dst,
label_t  l 
)
inline

Remove the transition (src, l, dst).

Definition at line 437 of file mutable-automaton.hh.

References vcsn::detail::mutable_automaton_impl< Context >::del_transition(), vcsn::detail::mutable_automaton_impl< Context >::get_transition(), and vcsn::detail::mutable_automaton_impl< Context >::null_transition().

Here is the call graph for this function:

template<typename Context >
void vcsn::detail::mutable_automaton_impl< Context >::del_transition ( state_t  s,
state_t  d 
)
inline

Remove all the transitions between s and d.

Definition at line 446 of file mutable-automaton.hh.

References vcsn::detail::mutable_automaton_impl< Context >::del_transition(), and vcsn::detail::mutable_automaton_impl< Context >::outin().

Here is the call graph for this function:

template<typename Context >
void vcsn::detail::mutable_automaton_impl< Context >::del_transition_container ( tr_cont_t tc,
bool  from_succ 
)
inlineprotected
template<typename Context >
void vcsn::detail::mutable_automaton_impl< Context >::del_transition_from_dst ( transition_t  t)
inlineprotected

Remove t from the ingoing transition of the destination state.

Definition at line 294 of file mutable-automaton.hh.

References vcsn::possibly_labeled_transition_tuple< State, Label >::dst, vcsn::find(), vcsn::detail::mutable_automaton_impl< Context >::states_, and vcsn::detail::mutable_automaton_impl< Context >::transitions_.

Referenced by vcsn::detail::mutable_automaton_impl< Context >::del_transition(), and vcsn::detail::mutable_automaton_impl< Context >::del_transition_container().

Here is the call graph for this function:

template<typename Context >
void vcsn::detail::mutable_automaton_impl< Context >::del_transition_from_src ( transition_t  t)
inlineprotected

Remove t from the outgoing transitions of the source state.

Definition at line 282 of file mutable-automaton.hh.

References vcsn::find(), vcsn::possibly_labeled_transition_tuple< State, Label >::src, vcsn::detail::mutable_automaton_impl< Context >::states_, and vcsn::detail::mutable_automaton_impl< Context >::transitions_.

Referenced by vcsn::detail::mutable_automaton_impl< Context >::del_transition(), and vcsn::detail::mutable_automaton_impl< Context >::del_transition_container().

Here is the call graph for this function:

template<typename Context >
container_filter_range<const tr_cont_t&> vcsn::detail::mutable_automaton_impl< Context >::final_transitions ( ) const
inline

Indexes of transitions from visible final states.

Definition at line 783 of file mutable-automaton.hh.

References vcsn::detail::mutable_automaton_impl< Context >::in(), and vcsn::detail::mutable_automaton_impl< Context >::post().

Here is the call graph for this function:

template<typename Context >
std::string vcsn::detail::mutable_automaton_impl< Context >::format_transition ( transition_t  t) const
inline
template<typename Context >
ATTRIBUTE_PURE weight_t vcsn::detail::mutable_automaton_impl< Context >::get_initial_weight ( state_t  s) const
inline
template<typename Context >
bool vcsn::detail::mutable_automaton_impl< Context >::has_transition ( state_t  src,
state_t  dst,
label_t  l 
) const
inline
template<typename Context >
bool vcsn::detail::mutable_automaton_impl< Context >::has_transition ( transition_t  t) const
inline

Definition at line 253 of file mutable-automaton.hh.

References vcsn::detail::mutable_automaton_impl< Context >::null_state(), and vcsn::detail::mutable_automaton_impl< Context >::transitions_.

Here is the call graph for this function:

template<typename Context >
container_filter_range<const tr_cont_t&> vcsn::detail::mutable_automaton_impl< Context >::in ( state_t  s) const
inline

Indexes of visible transitions arriving to state s.

Invalidated by del_transition() and del_state().

Definition at line 855 of file mutable-automaton.hh.

References vcsn::detail::mutable_automaton_impl< Context >::all_in(), vcsn::detail::mutable_automaton_impl< Context >::pre(), and vcsn::detail::mutable_automaton_impl< Context >::src_of().

Referenced by vcsn::detail::mutable_automaton_impl< Context >::final_transitions().

Here is the call graph for this function:

template<typename Context >
container_filter_range<const tr_cont_t&> vcsn::detail::mutable_automaton_impl< Context >::in ( state_t  s,
const label_t l 
) const
inline

Indexes of visible transitions arriving to state s on label l.

Invalidated by del_transition() and del_state().

Definition at line 865 of file mutable-automaton.hh.

References vcsn::detail::mutable_automaton_impl< Context >::all_in(), vcsn::detail::mutable_automaton_impl< Context >::label_of(), and vcsn::detail::mutable_automaton_impl< Context >::labelset().

Here is the call graph for this function:

template<typename Context >
container_filter_range<const tr_cont_t&> vcsn::detail::mutable_automaton_impl< Context >::initial_transitions ( ) const
inline

Indexes of transitions to visible initial states.

Definition at line 776 of file mutable-automaton.hh.

References vcsn::detail::mutable_automaton_impl< Context >::out(), and vcsn::detail::mutable_automaton_impl< Context >::pre().

Here is the call graph for this function:

template<typename Context >
bool vcsn::detail::mutable_automaton_impl< Context >::is_final ( state_t  s) const
inline

Definition at line 181 of file mutable-automaton.hh.

References vcsn::detail::mutable_automaton_impl< Context >::has_transition(), vcsn::detail::mutable_automaton_impl< Context >::post(), and vcsn::detail::mutable_automaton_impl< Context >::prepost_label_.

Here is the call graph for this function:

template<typename Context >
bool vcsn::detail::mutable_automaton_impl< Context >::is_initial ( state_t  s) const
inline

Definition at line 175 of file mutable-automaton.hh.

References vcsn::detail::mutable_automaton_impl< Context >::has_transition(), vcsn::detail::mutable_automaton_impl< Context >::pre(), and vcsn::detail::mutable_automaton_impl< Context >::prepost_label_.

Here is the call graph for this function:

template<typename Context >
weight_t vcsn::detail::mutable_automaton_impl< Context >::lmul_weight ( transition_t  t,
weight_t  w 
)
inline

Definition at line 674 of file mutable-automaton.hh.

References vcsn::detail::mutable_automaton_impl< Context >::set_weight(), vcsn::detail::mutable_automaton_impl< Context >::weight_of(), and vcsn::detail::mutable_automaton_impl< Context >::weightset().

Here is the call graph for this function:

template<typename Context >
transition_t vcsn::detail::mutable_automaton_impl< Context >::new_transition ( state_t  src,
state_t  dst,
label_t  l,
weight_t  w 
)
inline
template<typename Context >
transition_t vcsn::detail::mutable_automaton_impl< Context >::new_transition ( state_t  src,
state_t  dst,
label_t  l 
)
inline

Same as above, with weight one.

Definition at line 529 of file mutable-automaton.hh.

References vcsn::detail::mutable_automaton_impl< Context >::new_transition(), and vcsn::detail::mutable_automaton_impl< Context >::weightset().

Here is the call graph for this function:

template<typename Context >
template<typename A >
transition_t vcsn::detail::mutable_automaton_impl< Context >::new_transition_copy ( state_t  src,
state_t  dst,
const A &  aut,
typename A::element_type::transition_t  t,
bool  transpose = false 
)
inline

Copy the label of a transition between two states, creating a new transition.

There must not exist a previous transition with same (src, dst, label_of(l)).

Parameters
srcsource state
dstdestination state
autthe automaton whose transition will be copied.
ttransition of aut whose label and weight are to copy
transposewhether label and weight should be transposed
Precondition
the label is not checked, for efficiency.
! has_transition(src, dst, label_of(l)).

Definition at line 511 of file mutable-automaton.hh.

References vcsn::conv(), vcsn::detail::mutable_automaton_impl< Context >::labelset(), vcsn::detail::mutable_automaton_impl< Context >::new_transition(), vcsn::transpose(), and vcsn::detail::mutable_automaton_impl< Context >::weightset().

Here is the call graph for this function:

template<typename Context >
size_t vcsn::detail::mutable_automaton_impl< Context >::num_finals ( ) const
inline

Definition at line 151 of file mutable-automaton.hh.

References vcsn::detail::mutable_automaton_impl< Context >::post(), and vcsn::detail::mutable_automaton_impl< Context >::states_.

Referenced by vcsn::detail::mutable_automaton_impl< Context >::num_transitions().

Here is the call graph for this function:

template<typename Context >
size_t vcsn::detail::mutable_automaton_impl< Context >::num_initials ( ) const
inline

Definition at line 150 of file mutable-automaton.hh.

References vcsn::detail::mutable_automaton_impl< Context >::pre(), and vcsn::detail::mutable_automaton_impl< Context >::states_.

Referenced by vcsn::detail::mutable_automaton_impl< Context >::num_transitions().

Here is the call graph for this function:

template<typename Context >
size_t vcsn::detail::mutable_automaton_impl< Context >::num_states ( ) const
inline

Definition at line 149 of file mutable-automaton.hh.

References vcsn::detail::mutable_automaton_impl< Context >::num_all_states().

Here is the call graph for this function:

template<typename Context >
size_t vcsn::detail::mutable_automaton_impl< Context >::num_transitions ( ) const
inline

Definition at line 152 of file mutable-automaton.hh.

References vcsn::detail::mutable_automaton_impl< Context >::num_finals(), vcsn::detail::mutable_automaton_impl< Context >::num_initials(), vcsn::detail::mutable_automaton_impl< Context >::transitions_, and vcsn::detail::mutable_automaton_impl< Context >::transitions_fs_.

Here is the call graph for this function:

template<typename Context >
container_filter_range<const tr_cont_t&> vcsn::detail::mutable_automaton_impl< Context >::out ( state_t  s) const
inline

Indexes of visible transitions leaving state s.

Invalidated by del_transition() and del_state().

Definition at line 812 of file mutable-automaton.hh.

References vcsn::detail::mutable_automaton_impl< Context >::all_out(), vcsn::detail::mutable_automaton_impl< Context >::dst_of(), and vcsn::detail::mutable_automaton_impl< Context >::post().

Referenced by vcsn::detail::mutable_automaton_impl< Context >::initial_transitions().

Here is the call graph for this function:

template<typename Context >
container_filter_range<const tr_cont_t&> vcsn::detail::mutable_automaton_impl< Context >::out ( state_t  s,
const label_t l 
) const
inline

Indexes of all transitions leaving state s on label l.

Invalidated by del_transition() and del_state().

Definition at line 822 of file mutable-automaton.hh.

References vcsn::detail::mutable_automaton_impl< Context >::all_out(), vcsn::detail::mutable_automaton_impl< Context >::label_of(), and vcsn::detail::mutable_automaton_impl< Context >::labelset().

Here is the call graph for this function:

template<typename Context >
container_filter_range<const tr_cont_t&> vcsn::detail::mutable_automaton_impl< Context >::outin ( state_t  s,
state_t  d 
) const
inline

Indexes of visible transitions from state s to state d.

Invalidated by del_transition() and del_state().

Definition at line 877 of file mutable-automaton.hh.

References vcsn::detail::mutable_automaton_impl< Context >::all_out(), and vcsn::detail::mutable_automaton_impl< Context >::dst_of().

Referenced by vcsn::detail::mutable_automaton_impl< Context >::del_transition().

Here is the call graph for this function:

template<typename Context >
label_t vcsn::detail::mutable_automaton_impl< Context >::prepost_label ( ) const
inline
template<typename Context >
std::ostream& vcsn::detail::mutable_automaton_impl< Context >::print_state ( state_t  s,
std::ostream &  o 
) const
inline
template<typename Context >
std::ostream& vcsn::detail::mutable_automaton_impl< Context >::print_state_name ( state_t  s,
std::ostream &  o,
const std::string &  = "text",
bool  = true 
) const
inline

Definition at line 347 of file mutable-automaton.hh.

References vcsn::detail::mutable_automaton_impl< Context >::print_state().

Here is the call graph for this function:

template<typename Context >
weight_t vcsn::detail::mutable_automaton_impl< Context >::rmul_weight ( transition_t  t,
weight_t  w 
)
inline

Definition at line 680 of file mutable-automaton.hh.

References vcsn::detail::mutable_automaton_impl< Context >::set_weight(), vcsn::detail::mutable_automaton_impl< Context >::weight_of(), and vcsn::detail::mutable_automaton_impl< Context >::weightset().

Here is the call graph for this function:

template<typename Context >
void vcsn::detail::mutable_automaton_impl< Context >::set_final ( state_t  s,
weight_t  w 
)
inline
template<typename Context >
void vcsn::detail::mutable_automaton_impl< Context >::set_final ( state_t  s)
inline

Definition at line 403 of file mutable-automaton.hh.

References vcsn::detail::mutable_automaton_impl< Context >::set_final(), and vcsn::detail::mutable_automaton_impl< Context >::weightset().

Here is the call graph for this function:

template<typename Context >
void vcsn::detail::mutable_automaton_impl< Context >::set_initial ( state_t  s,
weight_t  w 
)
inline
template<typename Context >
void vcsn::detail::mutable_automaton_impl< Context >::set_initial ( state_t  s)
inline

Definition at line 379 of file mutable-automaton.hh.

References vcsn::detail::mutable_automaton_impl< Context >::set_initial(), and vcsn::detail::mutable_automaton_impl< Context >::weightset().

Here is the call graph for this function:

template<typename Context >
transition_t vcsn::detail::mutable_automaton_impl< Context >::set_transition ( state_t  src,
state_t  dst,
label_t  l,
weight_t  w 
)
inline
template<typename Context >
transition_t vcsn::detail::mutable_automaton_impl< Context >::set_transition ( state_t  src,
state_t  dst,
label_t  l 
)
inline

Same as above, with unit weight.

Definition at line 574 of file mutable-automaton.hh.

References vcsn::detail::mutable_automaton_impl< Context >::set_transition(), and vcsn::detail::mutable_automaton_impl< Context >::weightset().

Here is the call graph for this function:

template<typename Context >
static std::string vcsn::detail::mutable_automaton_impl< Context >::sname ( )
inlinestatic

Definition at line 112 of file mutable-automaton.hh.

References vcsn::sname().

Here is the call graph for this function:

template<typename Context >
static constexpr bool vcsn::detail::mutable_automaton_impl< Context >::state_has_name ( state_t  )
inlinestatic

Definition at line 355 of file mutable-automaton.hh.

template<typename Context >
template<typename Pred >
states_output_t vcsn::detail::mutable_automaton_impl< Context >::state_range ( state_t  b,
state_t  e,
Pred  pred 
) const
inlineprotected

The range of state numbers in [b .

. e] that validate the predicate pred.

Definition at line 696 of file mutable-automaton.hh.

References vcsn::detail::mutable_automaton_impl< Context >::null_transition(), vcsn::detail::mutable_automaton_impl< Context >::states_, and vcsn::detail::mutable_automaton_impl< Context >::stored_state_t::succ.

Referenced by vcsn::detail::mutable_automaton_impl< Context >::all_states(), vcsn::detail::mutable_automaton_impl< Context >::state_range(), and vcsn::detail::mutable_automaton_impl< Context >::states().

Here is the call graph for this function:

template<typename Context >
states_output_t vcsn::detail::mutable_automaton_impl< Context >::state_range ( state_t  b,
state_t  e 
) const
inlineprotected

The range of state numbers in [b .. e].

Definition at line 711 of file mutable-automaton.hh.

References vcsn::detail::mutable_automaton_impl< Context >::state_range().

Here is the call graph for this function:

template<typename Context >
states_output_t vcsn::detail::mutable_automaton_impl< Context >::states ( ) const
inline

All states excluding pre()/post().

Guaranteed in increasing order.

Definition at line 734 of file mutable-automaton.hh.

References vcsn::detail::mutable_automaton_impl< Context >::post(), vcsn::detail::mutable_automaton_impl< Context >::state_range(), and vcsn::detail::mutable_automaton_impl< Context >::states_.

Here is the call graph for this function:

template<typename Context >
transitions_output_t vcsn::detail::mutable_automaton_impl< Context >::transitions ( ) const
inline

All the transition indexes between visible states.

Definition at line 765 of file mutable-automaton.hh.

References vcsn::detail::mutable_automaton_impl< Context >::all_transitions(), vcsn::detail::mutable_automaton_impl< Context >::dst_of(), vcsn::detail::mutable_automaton_impl< Context >::post(), vcsn::detail::mutable_automaton_impl< Context >::pre(), and vcsn::detail::mutable_automaton_impl< Context >::src_of().

Here is the call graph for this function:

template<typename Context >
void vcsn::detail::mutable_automaton_impl< Context >::unset_final ( state_t  s)
inline

Definition at line 415 of file mutable-automaton.hh.

References vcsn::detail::mutable_automaton_impl< Context >::set_final(), and vcsn::detail::mutable_automaton_impl< Context >::weightset().

Here is the call graph for this function:

template<typename Context >
void vcsn::detail::mutable_automaton_impl< Context >::unset_initial ( state_t  s)
inline

Definition at line 391 of file mutable-automaton.hh.

References vcsn::detail::mutable_automaton_impl< Context >::set_initial(), and vcsn::detail::mutable_automaton_impl< Context >::weightset().

Here is the call graph for this function:

template<typename Context >
std::string vcsn::detail::mutable_automaton_impl< Context >::vname ( bool  full = true) const
inline

Definition at line 117 of file mutable-automaton.hh.

References vcsn::detail::mutable_automaton_impl< Context >::context().

Here is the call graph for this function:

Member Data Documentation


The documentation for this class was generated from the following files: