|  | Vcsn
    2.2
    Be Rational | 
This class has no modeling purpose, it only serves to factor code common to letterset 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 = typename genset_t::letters_t | 
| Public Member Functions | |
| genset_labelset (const genset_ptr &gs) | |
| genset_labelset (const genset_t &gs={}) | |
| genset_ptr | genset () const | 
| const genset_t & | generators () const | 
| template<typename Fun > | |
| void | convs_ (std::istream &i, Fun fun) const | 
| Read and process a class of letters.  More... | |
| letter_t | get_letter (std::istream &i, bool quoted=true) const | 
| Read one letter from i.  More... | |
| template<typename... Args> | |
| auto | begin (Args &&...args) const -> decltype(this->genset() -> begin(std::forward< Args >(args)...)) | 
| template<typename... Args> | |
| auto | delimit (Args &&...args) const -> decltype(this->genset() -> delimit(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 | equal (Args &&...args) const -> decltype(this->genset() -> equal(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> | |
| 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 | less (Args &&...args) const -> decltype(this->genset() -> less(std::forward< Args >(args)...)) | 
| template<typename... Args> | |
| auto | mul (Args &&...args) const -> decltype(this->genset() -> mul(std::forward< Args >(args)...)) | 
| template<typename... Args> | |
| ATTRIBUTE_PURE auto | transpose (Args &&...args) const -> decltype(this->genset() -> transpose(std::forward< Args >(args)...)) | 
| template<typename... Args> | |
| auto | undelimit (Args &&...args) const -> decltype(this->genset() -> undelimit(std::forward< Args >(args)...)) | 
| Static Public Member Functions | |
| static symbol | sname () | 
| Private Attributes | |
| genset_ptr | gs_ | 
This class has no modeling purpose, it only serves to factor code common to letterset 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 = typename genset_t::letters_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 97 of file genset-labelset.hh.
| 
 | inline | 
Read and process a class of letters.
Letters are sorted, and uniqued.
Stream i is on the '[', read up to the closing ']', included. Apply fun to all the letters. Take negation into account. Classes can never be empty.
For instance "[a-d0-9_]", or "[^a-fz], or "[^]", but not "[]".
Definition at line 65 of file genset-labelset.hh.
References vcsn::detail::conv_label_class_(), and vcsn::eat().
Referenced by vcsn::letterset< GenSet >::convs(), and vcsn::wordset< GenSet >::convs().
| 
 | inline | 
Definition at line 98 of file genset-labelset.hh.
| 
 | inline | 
Definition at line 99 of file genset-labelset.hh.
| 
 | inline | 
Definition at line 100 of file genset-labelset.hh.
| 
 | inline | 
Definition at line 41 of file genset-labelset.hh.
References vcsn::detail::genset_labelset< GenSet >::gs_.
Referenced by vcsn::random_label().
| 
 | inline | 
Definition at line 36 of file genset-labelset.hh.
References vcsn::detail::genset_labelset< GenSet >::gs_.
Referenced by vcsn::wordset< GenSet >::conv(), vcsn::detail::genset_labelset< GenSet >::get_letter(), vcsn::letterset< GenSet >::open(), and vcsn::wordset< GenSet >::open().
| 
 | inline | 
Read one letter from i.
Definition at line 78 of file genset-labelset.hh.
References vcsn::detail::genset_labelset< GenSet >::genset(), vcsn::detail::genset_labelset< GenSet >::has(), vcsn::str_escape(), and VCSN_REQUIRE.
Referenced by vcsn::letterset< GenSet >::conv().
| 
 | inline | 
Definition at line 101 of file genset-labelset.hh.
| 
 | inline | 
Definition at line 102 of file genset-labelset.hh.
Referenced by vcsn::detail::genset_labelset< GenSet >::get_letter(), vcsn::wordset< GenSet >::is_valid(), and vcsn::letterset< GenSet >::is_valid().
| 
 | inline | 
Definition at line 103 of file genset-labelset.hh.
| 
 | inline | 
Definition at line 104 of file genset-labelset.hh.
| 
 | inline | 
Definition at line 105 of file genset-labelset.hh.
Referenced by vcsn::random_label().
| 
 | inlinestatic | 
Definition at line 46 of file genset-labelset.hh.
References vcsn::sname().
Referenced by vcsn::letterset< GenSet >::sname(), and vcsn::wordset< GenSet >::sname().
| 
 | inline | 
Definition at line 106 of file genset-labelset.hh.
Referenced by vcsn::detail::nullable_helper< letterset< GenSet > >::transpose().
| 
 | inline | 
Definition at line 107 of file genset-labelset.hh.
| 
 | private | 
Definition at line 107 of file genset-labelset.hh.
Referenced by vcsn::detail::genset_labelset< GenSet >::generators(), and vcsn::detail::genset_labelset< GenSet >::genset().