Vcsn
2.0
Be Rational
|
This class has no modeling purpose, it only serves to factor code common to letterset, nullableset and wordset. More...
#include <genset-labelset.hh>
Public Types | |
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 | |
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 () |
Private Attributes | |
genset_ptr | gs_ |
This class has no modeling purpose, it only serves to factor code common to letterset, nullableset and wordset.
Definition at line 19 of file genset-labelset.hh.
using vcsn::detail::genset_labelset< GenSet >::genset_ptr = std::shared_ptr<const genset_t> |
Definition at line 22 of file genset-labelset.hh.
using vcsn::detail::genset_labelset< GenSet >::genset_t = GenSet |
Definition at line 21 of file genset-labelset.hh.
using vcsn::detail::genset_labelset< GenSet >::letter_t = typename genset_t::letter_t |
Definition at line 24 of file genset-labelset.hh.
using vcsn::detail::genset_labelset< GenSet >::letters_t = std::set<letter_t> |
Definition at line 26 of file genset-labelset.hh.
using vcsn::detail::genset_labelset< GenSet >::word_t = typename genset_t::word_t |
Definition at line 25 of file genset-labelset.hh.
|
inline |
Definition at line 28 of file genset-labelset.hh.
|
inline |
Definition at line 32 of file genset-labelset.hh.
|
inline |
Definition at line 118 of file genset-labelset.hh.
|
inline |
Definition at line 119 of file genset-labelset.hh.
|
inline |
Read a range of letters.
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 58 of file genset-labelset.hh.
References vcsn::eat(), vcsn::find(), vcsn::detail::genset_labelset< GenSet >::genset(), vcsn::detail::genset_labelset< GenSet >::has(), vcsn::require(), and vcsn::str_escape().
Referenced by vcsn::letterset< GenSet >::convs(), and vcsn::wordset< GenSet >::convs().
|
inline |
Definition at line 121 of file genset-labelset.hh.
|
inline |
Definition at line 123 of file genset-labelset.hh.
|
inline |
Definition at line 124 of file genset-labelset.hh.
|
inline |
Definition at line 36 of file genset-labelset.hh.
References vcsn::detail::genset_labelset< GenSet >::gs_.
Referenced by vcsn::letterset< GenSet >::conv(), vcsn::wordset< GenSet >::conv(), vcsn::detail::genset_labelset< GenSet >::convs_(), vcsn::wordset< GenSet >::open(), vcsn::letterset< GenSet >::open(), and vcsn::detail::genset_labelset< GenSet >::vname().
|
inline |
Definition at line 120 of file genset-labelset.hh.
|
inline |
Definition at line 125 of file genset-labelset.hh.
Referenced by vcsn::letterset< GenSet >::conv(), vcsn::detail::genset_labelset< GenSet >::convs_(), vcsn::wordset< GenSet >::is_valid(), and vcsn::letterset< GenSet >::is_valid().
|
inline |
Definition at line 126 of file genset-labelset.hh.
|
inlinestatic |
Definition at line 41 of file genset-labelset.hh.
References vcsn::sname().
Referenced by vcsn::wordset< GenSet >::sname(), and vcsn::letterset< GenSet >::sname().
|
inline |
Definition at line 127 of file genset-labelset.hh.
|
inline |
Definition at line 122 of file genset-labelset.hh.
|
inline |
Definition at line 46 of file genset-labelset.hh.
References vcsn::detail::genset_labelset< GenSet >::genset().
Referenced by vcsn::wordset< GenSet >::vname(), and vcsn::letterset< GenSet >::vname().
|
private |
Definition at line 127 of file genset-labelset.hh.
Referenced by vcsn::detail::genset_labelset< GenSet >::genset().