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

#include <expand.hh>

Inheritance diagram for vcsn::rat::expand_visitor< RatExpSet >:
Collaboration diagram for vcsn::rat::expand_visitor< RatExpSet >:

Public Types

using ratexpset_t = RatExpSet
 
using ratexp_t = typename ratexpset_t::value_t
 
using context_t = context_t_of< ratexpset_t >
 
using weightset_t = weightset_t_of< ratexpset_t >
 
using weight_t = typename weightset_t::value_t
 
using polynomialset_t = ratexp_polynomialset_t< ratexpset_t >
 
using polynomial_t = typename polynomialset_t::value_t
 
using super_t = typename RatExpSet::const_visitor
 

Public Member Functions

 expand_visitor (const ratexpset_t &rs)
 
ratexp_t operator() (const ratexp_t &v)
 
ratexp_t ratexp (const polynomial_t p)
 
polynomial_t expand (const ratexp_t &e)
 Syntactic sugar: recursive call to this visitor. More...
 
 VCSN_RAT_VISIT (zero,)
 
 VCSN_RAT_VISIT (one,)
 
 VCSN_RAT_VISIT (atom, v)
 
 VCSN_RAT_VISIT (sum, v)
 
 VCSN_RAT_VISIT (conjunction, v)
 
 VCSN_RAT_VISIT (prod, v)
 
 VCSN_RAT_VISIT (star, v)
 
 VCSN_RAT_VISIT (lweight, v)
 
 VCSN_RAT_VISIT (rweight, v)
 

Static Public Member Functions

static constexpr const charme ()
 

Private Attributes

ratexpset_t rs_
 
weightset_t ws_ = *rs_.weightset()
 Shorthand to the weightset. More...
 
polynomialset_t ps_ = make_ratexp_polynomialset(rs_)
 Polynomialset of ratexps. More...
 
polynomial_t res_
 The result. More...
 

Detailed Description

template<typename RatExpSet>
class vcsn::rat::expand_visitor< RatExpSet >

Template Parameters
RatExpSetrelative to the RatExp.

Definition at line 22 of file expand.hh.

Member Typedef Documentation

template<typename RatExpSet >
using vcsn::rat::expand_visitor< RatExpSet >::context_t = context_t_of<ratexpset_t>

Definition at line 28 of file expand.hh.

template<typename RatExpSet >
using vcsn::rat::expand_visitor< RatExpSet >::polynomial_t = typename polynomialset_t::value_t

Definition at line 33 of file expand.hh.

template<typename RatExpSet >
using vcsn::rat::expand_visitor< RatExpSet >::polynomialset_t = ratexp_polynomialset_t<ratexpset_t>

Definition at line 32 of file expand.hh.

template<typename RatExpSet >
using vcsn::rat::expand_visitor< RatExpSet >::ratexp_t = typename ratexpset_t::value_t

Definition at line 27 of file expand.hh.

template<typename RatExpSet >
using vcsn::rat::expand_visitor< RatExpSet >::ratexpset_t = RatExpSet

Definition at line 26 of file expand.hh.

template<typename RatExpSet >
using vcsn::rat::expand_visitor< RatExpSet >::super_t = typename RatExpSet::const_visitor

Definition at line 35 of file expand.hh.

template<typename RatExpSet >
using vcsn::rat::expand_visitor< RatExpSet >::weight_t = typename weightset_t::value_t

Definition at line 30 of file expand.hh.

template<typename RatExpSet >
using vcsn::rat::expand_visitor< RatExpSet >::weightset_t = weightset_t_of<ratexpset_t>

Definition at line 29 of file expand.hh.

Constructor & Destructor Documentation

template<typename RatExpSet >
vcsn::rat::expand_visitor< RatExpSet >::expand_visitor ( const ratexpset_t rs)
inline

Definition at line 39 of file expand.hh.

Member Function Documentation

template<typename RatExpSet >
polynomial_t vcsn::rat::expand_visitor< RatExpSet >::expand ( const ratexp_t e)
inline

Syntactic sugar: recursive call to this visitor.

Definition at line 60 of file expand.hh.

References vcsn::rat::expand_visitor< RatExpSet >::res_.

Referenced by vcsn::rat::expand_visitor< RatExpSet >::VCSN_RAT_VISIT().

template<typename RatExpSet >
static constexpr const char* vcsn::rat::expand_visitor< RatExpSet >::me ( )
inlinestatic

Definition at line 37 of file expand.hh.

template<typename RatExpSet >
ratexp_t vcsn::rat::expand_visitor< RatExpSet >::operator() ( const ratexp_t v)
inline

Definition at line 44 of file expand.hh.

References vcsn::rat::expand_visitor< RatExpSet >::ratexp(), and vcsn::rat::expand_visitor< RatExpSet >::res_.

Here is the call graph for this function:

template<typename RatExpSet >
vcsn::rat::expand_visitor< RatExpSet >::VCSN_RAT_VISIT ( zero  )
inline

Definition at line 66 of file expand.hh.

References vcsn::rat::expand_visitor< RatExpSet >::ps_, vcsn::rat::expand_visitor< RatExpSet >::res_, and vcsn::polynomialset< Context >::zero().

Here is the call graph for this function:

template<typename RatExpSet >
vcsn::rat::expand_visitor< RatExpSet >::VCSN_RAT_VISIT ( one  )
inline
template<typename RatExpSet >
vcsn::rat::expand_visitor< RatExpSet >::VCSN_RAT_VISIT ( atom  ,
 
)
inline
template<typename RatExpSet >
vcsn::rat::expand_visitor< RatExpSet >::VCSN_RAT_VISIT ( sum  ,
 
)
inline

Definition at line 81 of file expand.hh.

References vcsn::polynomialset< Context >::add(), vcsn::rat::expand_visitor< RatExpSet >::expand(), vcsn::rat::expand_visitor< RatExpSet >::ps_, vcsn::rat::expand_visitor< RatExpSet >::res_, and vcsn::polynomialset< Context >::zero().

Here is the call graph for this function:

template<typename RatExpSet >
vcsn::rat::expand_visitor< RatExpSet >::VCSN_RAT_VISIT ( conjunction  ,
 
)
inline
template<typename RatExpSet >
vcsn::rat::expand_visitor< RatExpSet >::VCSN_RAT_VISIT ( prod  ,
 
)
inline

Definition at line 110 of file expand.hh.

References vcsn::rat::expand_visitor< RatExpSet >::expand(), vcsn::polynomialset< Context >::mul(), vcsn::polynomialset< Context >::one(), vcsn::rat::expand_visitor< RatExpSet >::ps_, and vcsn::rat::expand_visitor< RatExpSet >::res_.

Here is the call graph for this function:

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

Definition at line 118 of file expand.hh.

References vcsn::rat::expand_visitor< RatExpSet >::ratexp(), vcsn::rat::expand_visitor< RatExpSet >::res_, vcsn::rat::expand_visitor< RatExpSet >::rs_, and vcsn::rat::expand_visitor< RatExpSet >::ws_.

Here is the call graph for this function:

template<typename RatExpSet >
vcsn::rat::expand_visitor< RatExpSet >::VCSN_RAT_VISIT ( lweight  ,
 
)
inline

Definition at line 125 of file expand.hh.

References vcsn::polynomialset< Context >::lmul(), vcsn::rat::expand_visitor< RatExpSet >::ps_, and vcsn::rat::expand_visitor< RatExpSet >::res_.

Here is the call graph for this function:

template<typename RatExpSet >
vcsn::rat::expand_visitor< RatExpSet >::VCSN_RAT_VISIT ( rweight  ,
 
)
inline

Definition at line 131 of file expand.hh.

References vcsn::rat::expand_visitor< RatExpSet >::ps_, vcsn::rat::expand_visitor< RatExpSet >::res_, and vcsn::polynomialset< Context >::rmul().

Here is the call graph for this function:

Member Data Documentation

template<typename RatExpSet >
polynomialset_t vcsn::rat::expand_visitor< RatExpSet >::ps_ = make_ratexp_polynomialset(rs_)
private

Polynomialset of ratexps.

Definition at line 142 of file expand.hh.

Referenced by vcsn::rat::expand_visitor< RatExpSet >::VCSN_RAT_VISIT().

template<typename RatExpSet >
ratexpset_t vcsn::rat::expand_visitor< RatExpSet >::rs_
private
template<typename RatExpSet >
weightset_t vcsn::rat::expand_visitor< RatExpSet >::ws_ = *rs_.weightset()
private

Shorthand to the weightset.

Definition at line 140 of file expand.hh.

Referenced by vcsn::rat::expand_visitor< RatExpSet >::VCSN_RAT_VISIT().


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