Vcsn  2.0
Be Rational
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
vcsn::rat::standard_visitor< Aut, RatExpSet > Class Template Reference

Build a standard automaton from a ratexp. More...

#include <standard.hh>

Inheritance diagram for vcsn::rat::standard_visitor< Aut, RatExpSet >:
Collaboration diagram for vcsn::rat::standard_visitor< Aut, RatExpSet >:

Public Types

using automaton_t = Aut
 
using ratexpset_t = RatExpSet
 
using weightset_t = weightset_t_of< ratexpset_t >
 
using weight_t = weight_t_of< ratexpset_t >
 
using state_t = state_t_of< automaton_t >
 
using super_t = typename ratexpset_t::const_visitor
 
using states_t = std::set< state_t >
 The current set of final states. More...
 

Public Member Functions

 standard_visitor (const ratexpset_t &rs)
 
automaton_t operator() (const typename ratexpset_t::value_t &v)
 
 VCSN_RAT_VISIT (zero,)
 
 VCSN_RAT_VISIT (one,)
 
 VCSN_RAT_VISIT (atom, e)
 
states_t finals ()
 
 VCSN_RAT_VISIT (sum, e)
 
 VCSN_RAT_VISIT (prod, e)
 
 VCSN_RAT_VISIT (star, e)
 
 VCSN_RAT_VISIT (lweight, e)
 
 VCSN_RAT_VISIT (rweight, e)
 

Static Public Member Functions

static constexpr const charme ()
 

Private Attributes

const ratexpset_trs_
 
const weightset_tws_ = *rs_.weightset()
 
automaton_t res_
 
state_t initial_ = automaton_t::element_type::null_state()
 

Detailed Description

template<typename Aut, typename RatExpSet>
class vcsn::rat::standard_visitor< Aut, RatExpSet >

Build a standard automaton from a ratexp.

Template Parameters
Autrelative the generated automaton
RatExpSetrelative to the RatExp.

Definition at line 178 of file standard.hh.

Member Typedef Documentation

template<typename Aut , typename RatExpSet >
using vcsn::rat::standard_visitor< Aut, RatExpSet >::automaton_t = Aut

Definition at line 182 of file standard.hh.

template<typename Aut , typename RatExpSet >
using vcsn::rat::standard_visitor< Aut, RatExpSet >::ratexpset_t = RatExpSet

Definition at line 183 of file standard.hh.

template<typename Aut , typename RatExpSet >
using vcsn::rat::standard_visitor< Aut, RatExpSet >::state_t = state_t_of<automaton_t>

Definition at line 186 of file standard.hh.

template<typename Aut , typename RatExpSet >
using vcsn::rat::standard_visitor< Aut, RatExpSet >::states_t = std::set<state_t>

The current set of final states.

Definition at line 233 of file standard.hh.

template<typename Aut , typename RatExpSet >
using vcsn::rat::standard_visitor< Aut, RatExpSet >::super_t = typename ratexpset_t::const_visitor

Definition at line 188 of file standard.hh.

template<typename Aut , typename RatExpSet >
using vcsn::rat::standard_visitor< Aut, RatExpSet >::weight_t = weight_t_of<ratexpset_t>

Definition at line 185 of file standard.hh.

template<typename Aut , typename RatExpSet >
using vcsn::rat::standard_visitor< Aut, RatExpSet >::weightset_t = weightset_t_of<ratexpset_t>

Definition at line 184 of file standard.hh.

Constructor & Destructor Documentation

template<typename Aut , typename RatExpSet >
vcsn::rat::standard_visitor< Aut, RatExpSet >::standard_visitor ( const ratexpset_t rs)
inline

Definition at line 192 of file standard.hh.

Member Function Documentation

template<typename Aut , typename RatExpSet >
states_t vcsn::rat::standard_visitor< Aut, RatExpSet >::finals ( )
inline
template<typename Aut , typename RatExpSet >
static constexpr const char* vcsn::rat::standard_visitor< Aut, RatExpSet >::me ( )
inlinestatic

Definition at line 190 of file standard.hh.

template<typename Aut , typename RatExpSet >
automaton_t vcsn::rat::standard_visitor< Aut, RatExpSet >::operator() ( const typename ratexpset_t::value_t &  v)
inline
template<typename Aut , typename RatExpSet >
vcsn::rat::standard_visitor< Aut, RatExpSet >::VCSN_RAT_VISIT ( zero  )
inline
template<typename Aut , typename RatExpSet >
vcsn::rat::standard_visitor< Aut, RatExpSet >::VCSN_RAT_VISIT ( one  )
inline
template<typename Aut , typename RatExpSet >
vcsn::rat::standard_visitor< Aut, RatExpSet >::VCSN_RAT_VISIT ( atom  ,
 
)
inline
template<typename Aut , typename RatExpSet >
vcsn::rat::standard_visitor< Aut, RatExpSet >::VCSN_RAT_VISIT ( sum  ,
 
)
inline

Definition at line 243 of file standard.hh.

References vcsn::rat::standard_visitor< Aut, RatExpSet >::finals(), vcsn::rat::standard_visitor< Aut, RatExpSet >::initial_, and vcsn::rat::standard_visitor< Aut, RatExpSet >::res_.

Here is the call graph for this function:

template<typename Aut , typename RatExpSet >
vcsn::rat::standard_visitor< Aut, RatExpSet >::VCSN_RAT_VISIT ( prod  ,
 
)
inline

Definition at line 263 of file standard.hh.

References vcsn::rat::standard_visitor< Aut, RatExpSet >::finals(), vcsn::has(), vcsn::rat::standard_visitor< Aut, RatExpSet >::initial_, vcsn::rat::standard_visitor< Aut, RatExpSet >::res_, and vcsn::rat::standard_visitor< Aut, RatExpSet >::ws_.

Here is the call graph for this function:

template<typename Aut , typename RatExpSet >
vcsn::rat::standard_visitor< Aut, RatExpSet >::VCSN_RAT_VISIT ( star  ,
 
)
inline

Definition at line 318 of file standard.hh.

References vcsn::rat::standard_visitor< Aut, RatExpSet >::finals(), vcsn::has(), vcsn::rat::standard_visitor< Aut, RatExpSet >::initial_, vcsn::rat::standard_visitor< Aut, RatExpSet >::res_, and vcsn::rat::standard_visitor< Aut, RatExpSet >::ws_.

Here is the call graph for this function:

template<typename Aut , typename RatExpSet >
vcsn::rat::standard_visitor< Aut, RatExpSet >::VCSN_RAT_VISIT ( lweight  ,
 
)
inline
template<typename Aut , typename RatExpSet >
vcsn::rat::standard_visitor< Aut, RatExpSet >::VCSN_RAT_VISIT ( rweight  ,
 
)
inline

Definition at line 355 of file standard.hh.

References vcsn::rat::standard_visitor< Aut, RatExpSet >::finals(), vcsn::has(), and vcsn::rat::standard_visitor< Aut, RatExpSet >::res_.

Here is the call graph for this function:

Member Data Documentation

template<typename Aut , typename RatExpSet >
state_t vcsn::rat::standard_visitor< Aut, RatExpSet >::initial_ = automaton_t::element_type::null_state()
private
template<typename Aut , typename RatExpSet >
const ratexpset_t& vcsn::rat::standard_visitor< Aut, RatExpSet >::rs_
private

Definition at line 365 of file standard.hh.

template<typename Aut , typename RatExpSet >
const weightset_t& vcsn::rat::standard_visitor< Aut, RatExpSet >::ws_ = *rs_.weightset()
private

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