Awali
Another Weighted Automata library
|
Implementation of labels are nullables (letter or empty). More...
#include <nullableset.hh>
Public Types | |
using | helper_t = internal::nullable_helper< labelset_t > |
using | kind_t = typename helper_t::kind_t |
using | labelset_ptr = std::shared_ptr< const labelset_t > |
using | labelset_t = LabelSet |
using | self_type = nullableset |
using | value_t = typename helper_t::value_t |
Public Member Functions | |
nullableset (const labelset_t &ls) | |
nullableset (const std::shared_ptr< const labelset_t > &ls) | |
value_t | conv (self_type, value_t v) const |
value_t | conv (std::istream &i) const |
std::set< value_t > | convs (std::istream &i) const |
bool | is_letter (const value_t &v) const |
bool | is_valid (value_t v) const |
bool | is_zero (const value_t &v) const |
const labelset_ptr | labelset () const |
bool | open (bool o) const |
Whether unknown letters should be added, or rejected. More... | |
value_t | parse (const std::string &s, size_t &p, bool fixed_domain=true) const |
std::ostream & | print (value_t l, std::ostream &o, const std::string &format="text") const |
std::ostream & | print_set (std::ostream &o, const std::string &format="text") const |
size_t | size (const value_t &v) const |
template<unsigned version = version::fsm_json> | |
json::node_t * | to_json () const |
value_t | transpose (const value_t &l) const |
template<typename... Args> | |
value_t | value (Args &&... args) const |
template<unsigned version = version::fsm_json> | |
value_t | value_from_json (json::node_t *p) const |
template<unsigned version = version::fsm_json> | |
json::node_t * | value_to_json (value_t value) const |
std::string | vname (bool full=true) const |
value_t | zero () const |
Static Public Member Functions | |
static bool | equals (const value_t &l, const value_t &r) |
Whether l == r. More... | |
static constexpr bool | has_one () |
static size_t | hash (const value_t &v) |
static constexpr bool | is_free () |
static constexpr bool | is_letterized () |
static ATTRIBUTE_PURE bool | is_one (value_t l) |
static constexpr bool | is_ratexpset () |
static bool | is_special (const value_t &l) |
static bool | less_than (const value_t &l, const value_t &r) |
Whether l < r. More... | |
static nullableset | make (std::istream &i) |
Build from the description in is. More... | |
static void | make_nullableset_kind (std::istream &is) |
static constexpr ATTRIBUTE_PURE value_t | one () |
static std::string | sname () |
static value_t | special () |
Implementation of labels are nullables (letter or empty).
using awali::sttc::nullableset< LabelSet >::helper_t = internal::nullable_helper<labelset_t> |
using awali::sttc::nullableset< LabelSet >::kind_t = typename helper_t::kind_t |
using awali::sttc::nullableset< LabelSet >::labelset_ptr = std::shared_ptr<const labelset_t> |
using awali::sttc::nullableset< LabelSet >::labelset_t = LabelSet |
using awali::sttc::nullableset< LabelSet >::self_type = nullableset |
using awali::sttc::nullableset< LabelSet >::value_t = typename helper_t::value_t |
awali::sttc::nullableset< LabelSet >::nullableset | ( | const labelset_t & | ls | ) |
awali::sttc::nullableset< LabelSet >::nullableset | ( | const std::shared_ptr< const labelset_t > & | ls | ) |
value_t awali::sttc::nullableset< LabelSet >::conv | ( | self_type | , |
value_t | v | ||
) | const |
value_t awali::sttc::nullableset< LabelSet >::conv | ( | std::istream & | i | ) | const |
std::domain_error | if there is no label here. |
std::set<value_t> awali::sttc::nullableset< LabelSet >::convs | ( | std::istream & | i | ) | const |
|
static |
Whether l == r.
|
staticconstexpr |
|
static |
|
staticconstexpr |
bool awali::sttc::nullableset< LabelSet >::is_letter | ( | const value_t & | v | ) | const |
|
staticconstexpr |
|
static |
|
staticconstexpr |
|
static |
bool awali::sttc::nullableset< LabelSet >::is_valid | ( | value_t | v | ) | const |
bool awali::sttc::nullableset< LabelSet >::is_zero | ( | const value_t & | v | ) | const |
const labelset_ptr awali::sttc::nullableset< LabelSet >::labelset | ( | ) | const |
|
static |
Whether l < r.
|
static |
Build from the description in is.
|
static |
|
staticconstexpr |
bool awali::sttc::nullableset< LabelSet >::open | ( | bool | o | ) | const |
Whether unknown letters should be added, or rejected.
o | whether to accept unknown letters |
value_t awali::sttc::nullableset< LabelSet >::parse | ( | const std::string & | s, |
size_t & | p, | ||
bool | fixed_domain = true |
||
) | const |
std::ostream& awali::sttc::nullableset< LabelSet >::print | ( | value_t | l, |
std::ostream & | o, | ||
const std::string & | format = "text" |
||
) | const |
std::ostream& awali::sttc::nullableset< LabelSet >::print_set | ( | std::ostream & | o, |
const std::string & | format = "text" |
||
) | const |
size_t awali::sttc::nullableset< LabelSet >::size | ( | const value_t & | v | ) | const |
|
static |
|
static |
json::node_t* awali::sttc::nullableset< LabelSet >::to_json | ( | ) | const |
value_t awali::sttc::nullableset< LabelSet >::transpose | ( | const value_t & | l | ) | const |
value_t awali::sttc::nullableset< LabelSet >::value | ( | Args &&... | args | ) | const |
value_t awali::sttc::nullableset< LabelSet >::value_from_json | ( | json::node_t * | p | ) | const |
json::node_t* awali::sttc::nullableset< LabelSet >::value_to_json | ( | value_t | value | ) | const |
std::string awali::sttc::nullableset< LabelSet >::vname | ( | bool | full = true | ) | const |
value_t awali::sttc::nullableset< LabelSet >::zero | ( | ) | const |