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

#include <ratexp.hh>

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

 atom (const label_t &value)
 
virtual void accept (typename node_t::const_visitor &v) const override
 
virtual type_t type () const override
 The type of this node. More...
 
const label_tvalue () 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...
 

Member Typedef Documentation

◆ label_t

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

◆ node_t

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

◆ super_type

template<typename Label , typename Weight >
using awali::sttc::rat::atom< Label, Weight >::super_type = leaf<label_t, weight_t>

◆ type_t

template<typename Label , typename Weight >
using awali::sttc::rat::atom< Label, Weight >::type_t = typename node_t::type_t

◆ value_t

template<typename Label , typename Weight >
using awali::sttc::rat::atom< Label, Weight >::value_t = typename node_t::value_t

◆ weight_t

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

Constructor & Destructor Documentation

◆ atom()

template<typename Label , typename Weight >
awali::sttc::rat::atom< Label, Weight >::atom ( const label_t value)

Member Function Documentation

◆ accept()

template<typename Label , typename Weight >
auto awali::sttc::rat::atom< Label, Weight >::accept ( typename node_t::const_visitor v) const
overridevirtual

◆ type()

template<typename Label , typename Weight >
virtual type_t awali::sttc::rat::atom< Label, Weight >::type ( ) const
overridevirtual

The type of this node.

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

◆ value()

template<typename Label , typename Weight >
auto awali::sttc::rat::atom< Label, Weight >::value

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