Awali
Another Weighted Automata library
Public Types | Public Member Functions | Static Public Member Functions
awali::sttc::rat::star_normal_form_visitor< RatExpSet > Class Template Reference

#include <star_normal_form.hh>

Inheritance diagram for awali::sttc::rat::star_normal_form_visitor< RatExpSet >:

Public Types

using context_t = context_t_of< ratexpset_t >
 
enum  operation_t { dot , box }
 The type of the operator. More...
 
using ratexp_t = typename ratexpset_t::value_t
 
using ratexpset_t = RatExpSet
 
using super_type = typename RatExpSet::const_visitor
 
using weight_t = typename weightset_t::value_t
 
using weightset_t = weightset_t_of< context_t >
 

Public Member Functions

 star_normal_form_visitor (const ratexpset_t &rs)
 
 AWALI_RAT_VISIT (atom, v)
 
 AWALI_RAT_VISIT (lweight, v)
 
 AWALI_RAT_VISIT (one,)
 
 AWALI_RAT_VISIT (prod, v)
 
 AWALI_RAT_VISIT (rweight, v)
 
 AWALI_RAT_VISIT (star, v)
 
 AWALI_RAT_VISIT (sum, v)
 
 AWALI_RAT_VISIT (zero,)
 
void box_of (const prod_t &v)
 Handling of a product by the box operator. More...
 
void dot_of (const prod_t &v)
 Handling of a product by the dot operator. More...
 
ratexp_t operator() (const ratexp_t &v)
 

Static Public Member Functions

constexpr static const char * me ()
 

Detailed Description

template<typename RatExpSet>
class awali::sttc::rat::star_normal_form_visitor< RatExpSet >

Template Parameters
RatExpSetrelative to the RatExp.

Implementation based on the dot/box operators as defined in "On the Number of Broken Derived Terms of a Rational Expression", Pierre-Yves Angrand, Sylvain Lombardy, Jacques Sakarovitch.

Member Typedef Documentation

◆ context_t

template<typename RatExpSet >
using awali::sttc::rat::star_normal_form_visitor< RatExpSet >::context_t = context_t_of<ratexpset_t>

◆ ratexp_t

template<typename RatExpSet >
using awali::sttc::rat::star_normal_form_visitor< RatExpSet >::ratexp_t = typename ratexpset_t::value_t

◆ ratexpset_t

template<typename RatExpSet >
using awali::sttc::rat::star_normal_form_visitor< RatExpSet >::ratexpset_t = RatExpSet

◆ super_type

template<typename RatExpSet >
using awali::sttc::rat::star_normal_form_visitor< RatExpSet >::super_type = typename RatExpSet::const_visitor

◆ weight_t

template<typename RatExpSet >
using awali::sttc::rat::star_normal_form_visitor< RatExpSet >::weight_t = typename weightset_t::value_t

◆ weightset_t

template<typename RatExpSet >
using awali::sttc::rat::star_normal_form_visitor< RatExpSet >::weightset_t = weightset_t_of<context_t>

Member Enumeration Documentation

◆ operation_t

template<typename RatExpSet >
enum awali::sttc::rat::star_normal_form_visitor::operation_t

The type of the operator.

Enumerator
dot 
box 

Constructor & Destructor Documentation

◆ star_normal_form_visitor()

template<typename RatExpSet >
awali::sttc::rat::star_normal_form_visitor< RatExpSet >::star_normal_form_visitor ( const ratexpset_t rs)

Member Function Documentation

◆ AWALI_RAT_VISIT() [1/8]

template<typename RatExpSet >
awali::sttc::rat::star_normal_form_visitor< RatExpSet >::AWALI_RAT_VISIT ( atom  ,
 
)

◆ AWALI_RAT_VISIT() [2/8]

template<typename RatExpSet >
awali::sttc::rat::star_normal_form_visitor< RatExpSet >::AWALI_RAT_VISIT ( lweight  ,
 
)

◆ AWALI_RAT_VISIT() [3/8]

template<typename RatExpSet >
awali::sttc::rat::star_normal_form_visitor< RatExpSet >::AWALI_RAT_VISIT ( one  )

◆ AWALI_RAT_VISIT() [4/8]

template<typename RatExpSet >
awali::sttc::rat::star_normal_form_visitor< RatExpSet >::AWALI_RAT_VISIT ( prod  ,
 
)

◆ AWALI_RAT_VISIT() [5/8]

template<typename RatExpSet >
awali::sttc::rat::star_normal_form_visitor< RatExpSet >::AWALI_RAT_VISIT ( rweight  ,
 
)

◆ AWALI_RAT_VISIT() [6/8]

template<typename RatExpSet >
awali::sttc::rat::star_normal_form_visitor< RatExpSet >::AWALI_RAT_VISIT ( star  ,
 
)

◆ AWALI_RAT_VISIT() [7/8]

template<typename RatExpSet >
awali::sttc::rat::star_normal_form_visitor< RatExpSet >::AWALI_RAT_VISIT ( sum  ,
 
)

◆ AWALI_RAT_VISIT() [8/8]

template<typename RatExpSet >
awali::sttc::rat::star_normal_form_visitor< RatExpSet >::AWALI_RAT_VISIT ( zero  )

◆ box_of()

template<typename RatExpSet >
void awali::sttc::rat::star_normal_form_visitor< RatExpSet >::box_of ( const prod_t &  v)

Handling of a product by the box operator.

◆ dot_of()

template<typename RatExpSet >
void awali::sttc::rat::star_normal_form_visitor< RatExpSet >::dot_of ( const prod_t &  v)

Handling of a product by the dot operator.

◆ me()

template<typename RatExpSet >
constexpr static const char* awali::sttc::rat::star_normal_form_visitor< RatExpSet >::me ( )
staticconstexpr

◆ operator()()

template<typename RatExpSet >
ratexp_t awali::sttc::rat::star_normal_form_visitor< RatExpSet >::operator() ( const ratexp_t v)

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