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

An inner node implementing a weight. More...

#include <ratexp.hh>

Inheritance diagram for awali::sttc::rat::weight_node< Type, Label, Weight >:
awali::sttc::rat::inner< Label, Weight > awali::sttc::rat::node< Label, Weight > awali::sttc::rat::exp

Public Types

using label_t = Label
 
using node_t = node< label_t, weight_t >
 
using super_type = inner< label_t, weight_t >
 
using value_t = typename super_type::value_t
 
using weight_t = Weight
 
- Public Types inherited from awali::sttc::rat::inner< Label, Weight >
using label_t = Label
 
using super_type = node< label_t, weight_t >
 
using value_t = typename super_type::value_t
 
using weight_t = Weight
 
- Public Types inherited from awali::sttc::rat::node< Label, Weight >
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

 weight_node (const weight_node &that)
 
 weight_node (const weight_t &w, value_t exp)
 
virtual void accept (typename node_t::const_visitor &v) const
 
void set_weight (const weight_t &w)
 
const value_t sub () const
 
virtual type_t type () const
 The type of this node. More...
 
const weight_tweight () const
 
- 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...
 

Detailed Description

template<exp::type_t Type, typename Label, typename Weight>
class awali::sttc::rat::weight_node< Type, Label, Weight >

An inner node implementing a weight.

Implements the Composite Design Pattern.

Member Typedef Documentation

◆ label_t

template<exp::type_t Type, typename Label , typename Weight >
using awali::sttc::rat::weight_node< Type, Label, Weight >::label_t = Label

◆ node_t

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

◆ super_type

template<exp::type_t Type, typename Label , typename Weight >
using awali::sttc::rat::weight_node< Type, Label, Weight >::super_type = inner<label_t, weight_t>

◆ value_t

template<exp::type_t Type, typename Label , typename Weight >
using awali::sttc::rat::weight_node< Type, Label, Weight >::value_t = typename super_type::value_t

◆ weight_t

template<exp::type_t Type, typename Label , typename Weight >
using awali::sttc::rat::weight_node< Type, Label, Weight >::weight_t = Weight

Constructor & Destructor Documentation

◆ weight_node() [1/2]

template<type_t Type, typename Label , typename Weight >
awali::sttc::rat::weight_node< Type, Label, Weight >::weight_node ( const weight_t w,
value_t  exp 
)

◆ weight_node() [2/2]

template<exp::type_t Type, typename Label , typename Weight >
awali::sttc::rat::weight_node< Type, Label, Weight >::weight_node ( const weight_node< Type, Label, Weight > &  that)

Member Function Documentation

◆ accept()

template<type_t Type, typename Label , typename Weight >
auto awali::sttc::rat::weight_node< Type, Label, Weight >::accept ( typename node_t::const_visitor v) const
virtual

◆ set_weight()

template<type_t Type, typename Label , typename Weight >
auto awali::sttc::rat::weight_node< Type, Label, Weight >::set_weight ( const weight_t w)

◆ sub()

template<type_t Type, typename Label , typename Weight >
auto awali::sttc::rat::weight_node< Type, Label, Weight >::sub

◆ type()

template<exp::type_t Type, typename Label , typename Weight >
virtual type_t awali::sttc::rat::weight_node< Type, Label, Weight >::type ( ) const
virtual

The type of this node.

Implements awali::sttc::rat::exp.

◆ weight()

template<type_t Type, typename Label , typename Weight >
auto awali::sttc::rat::weight_node< Type, Label, Weight >::weight

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