Vcsn
2.0
Be Rational
|
Implementation of labels are words. More...
#include <fwd.hh>
Public Types | |
using | genset_t = GenSet |
using | super_t = detail::genset_labelset< genset_t > |
using | self_type = wordset |
using | genset_ptr = std::shared_ptr< const genset_t > |
using | letter_t = typename genset_t::letter_t |
using | word_t = typename genset_t::word_t |
using | letters_t = std::set< letter_t > |
using | value_t = word_t |
using | kind_t = labels_are_words |
Public Types inherited from vcsn::detail::genset_labelset< GenSet > | |
using | genset_t = GenSet |
using | genset_ptr = std::shared_ptr< const genset_t > |
using | letter_t = typename genset_t::letter_t |
using | word_t = typename genset_t::word_t |
using | letters_t = std::set< letter_t > |
Public Member Functions | |
wordset (const genset_ptr &gs) | |
wordset (const genset_t &gs={}) | |
std::string | vname (bool full=true) const |
bool | open (bool o) const |
Whether unknown letters should be added, or rejected. More... | |
template<typename... Args> | |
value_t | value (Args &&...args) const |
Value constructor. More... | |
word_t | word (const value_t &v) const |
Convert to a word. More... | |
bool | is_valid (const value_t &v) const |
value_t | conv (std::istream &i) const |
std::set< value_t > | convs (std::istream &i) const |
Read a range of labels. More... | |
std::ostream & | print (const value_t &l, std::ostream &o, symbol format=symbol{"text"}) const |
std::ostream & | print_set (std::ostream &o, symbol format=symbol{"text"}) const |
Public Member Functions inherited from vcsn::detail::genset_labelset< GenSet > | |
genset_labelset (const genset_ptr &gs) | |
genset_labelset (const genset_t &gs={}) | |
const genset_t & | genset () const |
std::string | vname (bool full=true) const |
std::set< letter_t > | convs_ (std::istream &i) const |
Read a range of letters. More... | |
template<typename... Args> | |
auto | begin (Args &&...args) const -> decltype(this->genset().begin(std::forward< Args >(args)...)) |
template<typename... Args> | |
auto | concat (Args &&...args) const -> decltype(this->genset().concat(std::forward< Args >(args)...)) |
template<typename... Args> | |
auto | get_word (Args &&...args) const -> decltype(this->genset().get_word(std::forward< Args >(args)...)) |
template<typename... Args> | |
auto | delimit (Args &&...args) const -> decltype(this->genset().delimit(std::forward< Args >(args)...)) |
template<typename... Args> | |
auto | undelimit (Args &&...args) const -> decltype(this->genset().undelimit(std::forward< Args >(args)...)) |
template<typename... Args> | |
auto | end (Args &&...args) const -> decltype(this->genset().end(std::forward< Args >(args)...)) |
template<typename... Args> | |
ATTRIBUTE_PURE auto | equals (Args &&...args) const -> decltype(this->genset().equals(std::forward< Args >(args)...)) |
template<typename... Args> | |
ATTRIBUTE_PURE auto | has (Args &&...args) const -> decltype(this->genset().has(std::forward< Args >(args)...)) |
template<typename... Args> | |
ATTRIBUTE_PURE auto | is_letter (Args &&...args) const -> decltype(this->genset().is_letter(std::forward< Args >(args)...)) |
template<typename... Args> | |
ATTRIBUTE_PURE auto | transpose (Args &&...args) const -> decltype(this->genset().transpose(std::forward< Args >(args)...)) |
Static Public Member Functions | |
static std::string | sname () |
static wordset | make (std::istream &is) |
Build from the description in is. More... | |
static constexpr bool | is_free () |
static word_t | letters_of (word_t v) |
Prepare to iterate over the letters of v. More... | |
static bool | equals (const value_t l, const value_t r) |
Whether l == r. More... | |
static bool | less_than (const value_t l, const value_t r) |
Whether l < r. More... | |
static value_t | special () |
static bool | is_special (const value_t &v) |
static constexpr bool | is_ratexpset () |
static constexpr bool | has_one () |
static constexpr bool | is_letterized () |
static value_t | one () |
static bool | is_one (const value_t &l) ATTRIBUTE_PURE |
static size_t | size (const value_t &v) |
static size_t | hash (const value_t &v) |
static value_t | conv (self_type, value_t v) |
static value_t | lgcd (const value_t &w1, const value_t &w2) |
The longest common prefix. More... | |
static value_t | ldiv (const value_t &w1, const value_t &w2) |
Compute w1 \ w2 = w1^{-1}w2. More... | |
static value_t & | ldiv_here (const value_t &w1, value_t &w2) |
w2 := w1 \ w2. More... | |
Static Public Member Functions inherited from vcsn::detail::genset_labelset< GenSet > | |
static std::string | sname () |
Implementation of labels are words.
using vcsn::wordset< GenSet >::genset_ptr = std::shared_ptr<const genset_t> |
Definition at line 27 of file wordset.hh.
using vcsn::wordset< GenSet >::genset_t = GenSet |
Definition at line 24 of file wordset.hh.
using vcsn::wordset< GenSet >::kind_t = labels_are_words |
Definition at line 35 of file wordset.hh.
using vcsn::wordset< GenSet >::letter_t = typename genset_t::letter_t |
Definition at line 29 of file wordset.hh.
using vcsn::wordset< GenSet >::letters_t = std::set<letter_t> |
Definition at line 31 of file wordset.hh.
using vcsn::wordset< GenSet >::self_type = wordset |
Definition at line 26 of file wordset.hh.
using vcsn::wordset< GenSet >::super_t = detail::genset_labelset<genset_t> |
Definition at line 25 of file wordset.hh.
using vcsn::wordset< GenSet >::value_t = word_t |
Definition at line 33 of file wordset.hh.
using vcsn::wordset< GenSet >::word_t = typename genset_t::word_t |
Definition at line 30 of file wordset.hh.
|
inline |
Definition at line 37 of file wordset.hh.
|
inline |
Definition at line 41 of file wordset.hh.
|
inlinestatic |
Definition at line 176 of file wordset.hh.
|
inline |
Definition at line 182 of file wordset.hh.
References vcsn::detail::genset_labelset< GenSet >::genset().
|
inline |
Read a range of labels.
Stream i is right on a '['. Read up to the closing ']', and return the list of the matching labels.
For instance "[a-d0-9_]".
Definition at line 194 of file wordset.hh.
References vcsn::detail::genset_labelset< GenSet >::convs_().
|
inlinestatic |
Whether l == r.
Definition at line 102 of file wordset.hh.
|
inlinestatic |
Definition at line 142 of file wordset.hh.
|
inlinestatic |
Definition at line 170 of file wordset.hh.
References vcsn::hash_value().
|
inlinestatic |
Definition at line 75 of file wordset.hh.
|
inlinestatic |
Definition at line 148 of file wordset.hh.
|
inlinestatic |
Definition at line 160 of file wordset.hh.
|
inlinestatic |
Definition at line 136 of file wordset.hh.
|
inlinestatic |
Definition at line 121 of file wordset.hh.
References vcsn::wordset< GenSet >::special().
|
inline |
Definition at line 127 of file wordset.hh.
References vcsn::detail::genset_labelset< GenSet >::has().
|
inlinestatic |
Compute w1 \ w2 = w1^{-1}w2.
Precondition: w1 is prefix of w2.
Definition at line 242 of file wordset.hh.
References vcsn::require(), vcsn::wordset< GenSet >::size(), and vcsn::str_escape().
Referenced by vcsn::wordset< GenSet >::ldiv_here().
|
inlinestatic |
w2 := w1 \ w2.
Definition at line 251 of file wordset.hh.
References vcsn::wordset< GenSet >::ldiv().
|
inlinestatic |
Whether l < r.
Definition at line 108 of file wordset.hh.
|
inlinestatic |
Prepare to iterate over the letters of v.
Definition at line 95 of file wordset.hh.
|
inlinestatic |
The longest common prefix.
Definition at line 235 of file wordset.hh.
|
inlinestatic |
Build from the description in is.
Definition at line 56 of file wordset.hh.
References vcsn::eat().
|
inlinestatic |
Definition at line 154 of file wordset.hh.
|
inline |
Whether unknown letters should be added, or rejected.
o | whether to accept |
Definition at line 70 of file wordset.hh.
References vcsn::detail::genset_labelset< GenSet >::genset().
|
inline |
Definition at line 203 of file wordset.hh.
|
inline |
Definition at line 220 of file wordset.hh.
|
inlinestatic |
Definition at line 165 of file wordset.hh.
Referenced by vcsn::wordset< GenSet >::ldiv().
|
inlinestatic |
Definition at line 45 of file wordset.hh.
References vcsn::detail::genset_labelset< GenSet >::sname().
|
inlinestatic |
Definition at line 115 of file wordset.hh.
Referenced by vcsn::wordset< GenSet >::is_special().
|
inline |
Value constructor.
Definition at line 82 of file wordset.hh.
|
inline |
Definition at line 50 of file wordset.hh.
References vcsn::detail::genset_labelset< GenSet >::vname().
|
inline |
Convert to a word.
Definition at line 88 of file wordset.hh.