Awali
Another Weighted Automata library
|
Implementation of labels are words. More...
#include <wordset.hh>
Public Types | |
using | genset_ptr = std::shared_ptr< const genset_t > |
using | genset_t = GenSet |
using | kind_t = labels_are_words |
using | letter_t = typename genset_t::letter_t |
using | letters_t = std::set< letter_t > |
using | self_type = wordset |
using | value_t = word_t |
using | word_t = typename genset_t::word_t |
Public Member Functions | |
wordset (const genset_t &gs={}) | |
word_t | concat (const letter_t l, const letter_t r) const |
word_t | concat (const letter_t l, const word_t &r) const |
word_t | concat (const word_t &l, const letter_t r) const |
word_t | concat (const word_t &l, const word_t &r) const |
word_t | delimit (const word_t &w) const |
Add the special character first and last. More... | |
const genset_t & | genset () const |
bool | is_valid (const value_t &v) const |
bool | open (bool o) const |
Whether unknown letters should be added, or rejected. More... | |
value_t | parse (const std::string &s) const |
value_t | parse (const std::string &s, size_t &p, bool fixed_alphabet=true) const |
std::ostream & | print (const 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 |
template<unsigned version = version::fsm_json> | |
json::node_t * | to_json () const |
value_t | transpose (const value_t &v) const |
word_t | undelimit (const word_t &w) const |
Remove first and last characters, that must be "special". More... | |
template<typename... Args> | |
value_t | value (Args &&... args) const |
Value constructor. More... | |
template<unsigned version = version::fsm_json> | |
value_t | value_from_json (json::node_t const *p) const |
template<unsigned version = version::fsm_json> | |
json::node_t * | value_to_json (value_t v) const |
std::string | vname (bool full=true) const |
word_t | word (const letter_t &l) const |
Convert to a word. More... | |
word_t | word (const value_t &v) const |
Convert to a word. More... | |
Static Public Member Functions | |
static value_t | conv (self_type, value_t v) |
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 bool | is_one (const value_t &l) |
static constexpr bool | is_ratexpset () |
static bool | is_special (const value_t &v) |
static bool | less_than (const value_t l, const value_t r) |
Whether l < r. More... | |
static word_t | letters_of (word_t v) |
Prepare to iterate over the letters of v. More... | |
static value_t | one () |
static size_t | size (const value_t &v) |
static std::string | sname () |
static value_t | special () |
Implementation of labels are words.
using awali::sttc::wordset< GenSet >::genset_ptr = std::shared_ptr<const genset_t> |
using awali::sttc::wordset< GenSet >::genset_t = GenSet |
using awali::sttc::wordset< GenSet >::kind_t = labels_are_words |
using awali::sttc::wordset< GenSet >::letter_t = typename genset_t::letter_t |
using awali::sttc::wordset< GenSet >::letters_t = std::set<letter_t> |
using awali::sttc::wordset< GenSet >::self_type = wordset |
using awali::sttc::wordset< GenSet >::value_t = word_t |
using awali::sttc::wordset< GenSet >::word_t = typename genset_t::word_t |
awali::sttc::wordset< GenSet >::wordset | ( | const genset_t & | gs = {} | ) |
word_t awali::sttc::wordset< GenSet >::concat | ( | const letter_t | l, |
const letter_t | r | ||
) | const |
word_t awali::sttc::wordset< GenSet >::concat | ( | const letter_t | l, |
const word_t & | r | ||
) | const |
word_t awali::sttc::wordset< GenSet >::concat | ( | const word_t & | l, |
const letter_t | r | ||
) | const |
word_t awali::sttc::wordset< GenSet >::concat | ( | const word_t & | l, |
const word_t & | r | ||
) | const |
|
static |
word_t awali::sttc::wordset< GenSet >::delimit | ( | const word_t & | w | ) | const |
Add the special character first and last.
|
static |
Whether l == r.
const genset_t& awali::sttc::wordset< GenSet >::genset | ( | ) | const |
|
staticconstexpr |
|
static |
|
staticconstexpr |
|
staticconstexpr |
|
static |
|
staticconstexpr |
|
static |
bool awali::sttc::wordset< GenSet >::is_valid | ( | const value_t & | v | ) | const |
|
static |
Whether l < r.
|
static |
Prepare to iterate over the letters of v.
|
static |
bool awali::sttc::wordset< GenSet >::open | ( | bool | o | ) | const |
Whether unknown letters should be added, or rejected.
o | whether to accept |
value_t awali::sttc::wordset< GenSet >::parse | ( | const std::string & | s | ) | const |
value_t awali::sttc::wordset< GenSet >::parse | ( | const std::string & | s, |
size_t & | p, | ||
bool | fixed_alphabet = true |
||
) | const |
std::ostream& awali::sttc::wordset< GenSet >::print | ( | const value_t & | l, |
std::ostream & | o, | ||
const std::string & | format = "text" |
||
) | const |
std::ostream& awali::sttc::wordset< GenSet >::print_set | ( | std::ostream & | o, |
const std::string & | format = "text" |
||
) | const |
|
static |
|
static |
|
static |
json::node_t* awali::sttc::wordset< GenSet >::to_json | ( | ) | const |
value_t awali::sttc::wordset< GenSet >::transpose | ( | const value_t & | v | ) | const |
word_t awali::sttc::wordset< GenSet >::undelimit | ( | const word_t & | w | ) | const |
Remove first and last characters, that must be "special".
value_t awali::sttc::wordset< GenSet >::value | ( | Args &&... | args | ) | const |
Value constructor.
value_t awali::sttc::wordset< GenSet >::value_from_json | ( | json::node_t const * | p | ) | const |
json::node_t* awali::sttc::wordset< GenSet >::value_to_json | ( | value_t | v | ) | const |
std::string awali::sttc::wordset< GenSet >::vname | ( | bool | full = true | ) | const |
word_t awali::sttc::wordset< GenSet >::word | ( | const letter_t & | l | ) | const |
Convert to a word.
word_t awali::sttc::wordset< GenSet >::word | ( | const value_t & | v | ) | const |
Convert to a word.