Awali
Another Weighted Automata library
Public Types | Static Public Member Functions
awali::sttc::internal::nullable_helper< LabelSet > Struct Template Reference

Add support for an empty word to a LabelSet that does not provide such special label to this end. More...

#include <nullableset.hh>

Public Types

using kind_t = typename LabelSet::kind_t
 
using labelset_t = LabelSet
 
using null = nullableset< labelset_t >
 
using value_t = std::pair< typename labelset_t::value_t, bool >
 

Static Public Member Functions

static ATTRIBUTE_PURE labelset_t::value_t get_value (const value_t &v)
 
static ATTRIBUTE_PURE bool is_one (value_t l)
 
template<typename Ls >
static ATTRIBUTE_PURE std::enable_if< Ls::has_one(), bool >::type is_one_ (value_t l)
 
template<typename Ls >
static ATTRIBUTE_PURE std::enable_if<!Ls::has_one(), bool >::type is_one_ (value_t l)
 
static null make (std::istream &is)
 
static constexpr ATTRIBUTE_PURE value_t one ()
 
static constexpr ATTRIBUTE_PURE value_t special ()
 
template<typename... Args>
static value_t value (const labelset_t &ls, Args &&... args)
 

Detailed Description

template<typename LabelSet>
struct awali::sttc::internal::nullable_helper< LabelSet >

Add support for an empty word to a LabelSet that does not provide such special label to this end.

Member Typedef Documentation

◆ kind_t

template<typename LabelSet >
using awali::sttc::internal::nullable_helper< LabelSet >::kind_t = typename LabelSet::kind_t

◆ labelset_t

template<typename LabelSet >
using awali::sttc::internal::nullable_helper< LabelSet >::labelset_t = LabelSet

◆ null

template<typename LabelSet >
using awali::sttc::internal::nullable_helper< LabelSet >::null = nullableset<labelset_t>

◆ value_t

template<typename LabelSet >
using awali::sttc::internal::nullable_helper< LabelSet >::value_t = std::pair<typename labelset_t::value_t, bool>

Member Function Documentation

◆ get_value()

template<typename LabelSet >
static ATTRIBUTE_PURE labelset_t::value_t awali::sttc::internal::nullable_helper< LabelSet >::get_value ( const value_t v)
static

◆ is_one()

template<typename LabelSet >
static ATTRIBUTE_PURE bool awali::sttc::internal::nullable_helper< LabelSet >::is_one ( value_t  l)
static

◆ is_one_() [1/2]

template<typename LabelSet >
template<typename Ls >
static ATTRIBUTE_PURE std::enable_if<Ls::has_one(), bool>::type awali::sttc::internal::nullable_helper< LabelSet >::is_one_ ( value_t  l)
static

◆ is_one_() [2/2]

template<typename LabelSet >
template<typename Ls >
static ATTRIBUTE_PURE std::enable_if<!Ls::has_one(), bool>::type awali::sttc::internal::nullable_helper< LabelSet >::is_one_ ( value_t  l)
static

◆ make()

template<typename LabelSet >
static null awali::sttc::internal::nullable_helper< LabelSet >::make ( std::istream &  is)
static

◆ one()

template<typename LabelSet >
static constexpr ATTRIBUTE_PURE value_t awali::sttc::internal::nullable_helper< LabelSet >::one ( )
staticconstexpr

◆ special()

template<typename LabelSet >
static constexpr ATTRIBUTE_PURE value_t awali::sttc::internal::nullable_helper< LabelSet >::special ( )
staticconstexpr

◆ value()

template<typename LabelSet >
template<typename... Args>
static value_t awali::sttc::internal::nullable_helper< LabelSet >::value ( const labelset_t ls,
Args &&...  args 
)
static

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