Vcsn  2.0
Be Rational
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
vcsn::detail::state_eliminator< Aut, labels_are_ratexps > Struct Template Reference

Eliminate states in an automaton whose labelset is a ratexpset. More...

#include <to-expression.hh>

Collaboration diagram for vcsn::detail::state_eliminator< Aut, labels_are_ratexps >:

Public Types

using automaton_t = typename std::remove_cv< Aut >::type
 
using state_t = state_t_of< automaton_t >
 
using ratexpset_t = labelset_t_of< automaton_t >
 
using weightset_t = weightset_t_of< automaton_t >
 
using state_chooser_t = std::function< state_t(const automaton_t &)>
 State selector type. More...
 

Public Member Functions

 state_eliminator (automaton_t &aut)
 
void operator() (state_t s)
 Eliminate state s. More...
 
void operator() (const state_chooser_t &next_state)
 Eliminate all the states, in the order specified by next_state. More...
 

Private Attributes

int debug_
 Debug level. The higher, the more details are reported. More...
 
automaton_taut_
 The automaton we work on. More...
 
const ratexpset_trs_ = *aut_->labelset()
 Shorthand to the labelset, which is a ratexpset. More...
 
const weightset_tws_ = *aut_->weightset()
 Shorthand to the weightset. More...
 

Detailed Description

template<typename Aut>
struct vcsn::detail::state_eliminator< Aut, labels_are_ratexps >

Eliminate states in an automaton whose labelset is a ratexpset.

Definition at line 131 of file to-expression.hh.

Member Typedef Documentation

template<typename Aut >
using vcsn::detail::state_eliminator< Aut, labels_are_ratexps >::automaton_t = typename std::remove_cv<Aut>::type

Definition at line 142 of file to-expression.hh.

Definition at line 144 of file to-expression.hh.

template<typename Aut >
using vcsn::detail::state_eliminator< Aut, labels_are_ratexps >::state_chooser_t = std::function<state_t(const automaton_t&)>

State selector type.

Definition at line 147 of file to-expression.hh.

Definition at line 143 of file to-expression.hh.

Definition at line 145 of file to-expression.hh.

Constructor & Destructor Documentation

template<typename Aut >
vcsn::detail::state_eliminator< Aut, labels_are_ratexps >::state_eliminator ( automaton_t aut)
inline

Definition at line 149 of file to-expression.hh.

Member Function Documentation

template<typename Aut >
void vcsn::detail::state_eliminator< Aut, labels_are_ratexps >::operator() ( state_t  s)
inline

Eliminate state s.

Definition at line 155 of file to-expression.hh.

References vcsn::require(), and vcsn::detail::to_vector().

Here is the call graph for this function:

template<typename Aut >
void vcsn::detail::state_eliminator< Aut, labels_are_ratexps >::operator() ( const state_chooser_t next_state)
inline

Eliminate all the states, in the order specified by next_state.

Definition at line 182 of file to-expression.hh.

Member Data Documentation

template<typename Aut >
automaton_t& vcsn::detail::state_eliminator< Aut, labels_are_ratexps >::aut_
private

The automaton we work on.

Definition at line 192 of file to-expression.hh.

template<typename Aut >
int vcsn::detail::state_eliminator< Aut, labels_are_ratexps >::debug_
private

Debug level. The higher, the more details are reported.

Definition at line 190 of file to-expression.hh.

template<typename Aut >
const ratexpset_t& vcsn::detail::state_eliminator< Aut, labels_are_ratexps >::rs_ = *aut_->labelset()
private

Shorthand to the labelset, which is a ratexpset.

Definition at line 194 of file to-expression.hh.

template<typename Aut >
const weightset_t& vcsn::detail::state_eliminator< Aut, labels_are_ratexps >::ws_ = *aut_->weightset()
private

Shorthand to the weightset.

Definition at line 196 of file to-expression.hh.


The documentation for this struct was generated from the following file: