Awali
Another Weighted Automata library
Public Types | Public Member Functions
awali::sttc::rat::node< Label, Weight > Class Template Referenceabstract

The abstract parameterized, root for all rational expression types. More...

#include <ratexp.hh>

Inheritance diagram for awali::sttc::rat::node< Label, Weight >:
awali::sttc::rat::exp awali::sttc::rat::inner< Label, Weight > awali::sttc::rat::leaf< Label, Weight > awali::sttc::rat::unary< Type, Label, Weight > awali::sttc::rat::variadic< Type, Label, Weight > awali::sttc::rat::weight_node< Type, Label, Weight > awali::sttc::rat::atom< Label, Weight > awali::sttc::rat::constant< Type, Label, Weight >

Public Types

using const_visitor = sttc::rat::const_visitor< label_t, weight_t >
 
using label_t = Label
 
using node_t = rat::node< label_t, weight_t >
 
using ratexps_t = std::vector< value_t >
 
using value_t = std::shared_ptr< const node_t >
 
using weight_t = Weight
 
using wvalue_t = std::shared_ptr< node_t >
 Same as value_t, but writable. Use with care. More...
 
- Public Types inherited from awali::sttc::rat::exp
using type_t = rat::type_t
 The possible types of ratexps. More...
 

Public Member Functions

virtual void accept (const_visitor &v) const =0
 
- Public Member Functions inherited from awali::sttc::rat::exp
virtual ~exp ()=default
 
bool is_leaf () const
 Whether a leaf of the ratexp tree. More...
 
bool is_unary () const
 Whether star, complement. More...
 
virtual type_t type () const =0
 The type of this node. More...
 

Detailed Description

template<typename Label, typename Weight>
class awali::sttc::rat::node< Label, Weight >

The abstract parameterized, root for all rational expression types.

Member Typedef Documentation

◆ const_visitor

template<typename Label , typename Weight >
using awali::sttc::rat::node< Label, Weight >::const_visitor = sttc::rat::const_visitor<label_t, weight_t>

◆ label_t

template<typename Label , typename Weight >
using awali::sttc::rat::node< Label, Weight >::label_t = Label

◆ node_t

template<typename Label , typename Weight >
using awali::sttc::rat::node< Label, Weight >::node_t = rat::node<label_t, weight_t>

◆ ratexps_t

template<typename Label , typename Weight >
using awali::sttc::rat::node< Label, Weight >::ratexps_t = std::vector<value_t>

◆ value_t

template<typename Label , typename Weight >
using awali::sttc::rat::node< Label, Weight >::value_t = std::shared_ptr<const node_t>

◆ weight_t

template<typename Label , typename Weight >
using awali::sttc::rat::node< Label, Weight >::weight_t = Weight

◆ wvalue_t

template<typename Label , typename Weight >
using awali::sttc::rat::node< Label, Weight >::wvalue_t = std::shared_ptr<node_t>

Same as value_t, but writable. Use with care.

Member Function Documentation

◆ accept()

template<typename Label , typename Weight >
virtual void awali::sttc::rat::node< Label, Weight >::accept ( const_visitor v) const
pure virtual

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