Vcsn  2.0
Be Rational
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
vcsn::letterset< GenSet > Class Template Reference

Implementation of labels are letters. More...

#include <fwd.hh>

Inheritance diagram for vcsn::letterset< GenSet >:
Collaboration diagram for vcsn::letterset< GenSet >:

Public Types

using genset_t = GenSet
 
using super_t = detail::genset_labelset< genset_t >
 
using self_type = letterset
 
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 = letter_t
 
using kind_t = labels_are_letters
 
- 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

 letterset (const genset_ptr &gs)
 
 letterset (const genset_t &gs={})
 
 letterset (const std::initializer_list< letter_t > &letters)
 
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 (value_t v) const
 Convert to a word. More...
 
bool is_valid (value_t v) const
 
value_t conv (std::istream &i) const
 Read one letter from i, return the corresponding label. More...
 
std::set< value_tconvs (std::istream &i) const
 
std::ostream & print (const value_t &l, std::ostream &o, const std::string &="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_tgenset () const
 
std::string vname (bool full=true) const
 
std::set< letter_tconvs_ (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 letterset 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 value_t special () ATTRIBUTE_PURE
 
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 constexpr bool has_one ()
 
static constexpr bool is_ratexpset ()
 
static constexpr bool is_letterized ()
 
static bool is_special (value_t v) ATTRIBUTE_PURE
 
static constexpr bool is_one (value_t)
 
static size_t size (value_t)
 
static size_t hash (value_t v)
 
static value_t conv (self_type, value_t v)
 
- Static Public Member Functions inherited from vcsn::detail::genset_labelset< GenSet >
static std::string sname ()
 

Detailed Description

template<typename GenSet>
class vcsn::letterset< GenSet >

Implementation of labels are letters.

Definition at line 9 of file fwd.hh.

Member Typedef Documentation

template<typename GenSet>
using vcsn::letterset< GenSet >::genset_ptr = std::shared_ptr<const genset_t>

Definition at line 27 of file letterset.hh.

template<typename GenSet>
using vcsn::letterset< GenSet >::genset_t = GenSet

Definition at line 24 of file letterset.hh.

template<typename GenSet>
using vcsn::letterset< GenSet >::kind_t = labels_are_letters

Definition at line 35 of file letterset.hh.

template<typename GenSet>
using vcsn::letterset< GenSet >::letter_t = typename genset_t::letter_t

Definition at line 29 of file letterset.hh.

template<typename GenSet>
using vcsn::letterset< GenSet >::letters_t = std::set<letter_t>

Definition at line 31 of file letterset.hh.

template<typename GenSet>
using vcsn::letterset< GenSet >::self_type = letterset

Definition at line 26 of file letterset.hh.

template<typename GenSet>
using vcsn::letterset< GenSet >::super_t = detail::genset_labelset<genset_t>

Definition at line 25 of file letterset.hh.

template<typename GenSet>
using vcsn::letterset< GenSet >::value_t = letter_t

Definition at line 33 of file letterset.hh.

template<typename GenSet>
using vcsn::letterset< GenSet >::word_t = typename genset_t::word_t

Definition at line 30 of file letterset.hh.

Constructor & Destructor Documentation

template<typename GenSet>
vcsn::letterset< GenSet >::letterset ( const genset_ptr gs)
inline

Definition at line 37 of file letterset.hh.

template<typename GenSet>
vcsn::letterset< GenSet >::letterset ( const genset_t gs = {})
inline

Definition at line 41 of file letterset.hh.

template<typename GenSet>
vcsn::letterset< GenSet >::letterset ( const std::initializer_list< letter_t > &  letters)
inline

Definition at line 45 of file letterset.hh.

Member Function Documentation

template<typename GenSet>
static value_t vcsn::letterset< GenSet >::conv ( self_type  ,
value_t  v 
)
inlinestatic

Definition at line 170 of file letterset.hh.

template<typename GenSet>
value_t vcsn::letterset< GenSet >::conv ( std::istream &  i) const
inline

Read one letter from i, return the corresponding label.

Definition at line 177 of file letterset.hh.

References vcsn::detail::genset_labelset< GenSet >::genset(), vcsn::detail::genset_labelset< GenSet >::has(), vcsn::require(), and vcsn::str_escape().

Here is the call graph for this function:

template<typename GenSet>
std::set<value_t> vcsn::letterset< GenSet >::convs ( std::istream &  i) const
inline

Definition at line 186 of file letterset.hh.

References vcsn::detail::genset_labelset< GenSet >::convs_().

Here is the call graph for this function:

template<typename GenSet>
static bool vcsn::letterset< GenSet >::equals ( const value_t  l,
const value_t  r 
)
inlinestatic

Whether l == r.

Definition at line 112 of file letterset.hh.

template<typename GenSet>
static constexpr bool vcsn::letterset< GenSet >::has_one ( )
inlinestatic

Definition at line 124 of file letterset.hh.

template<typename GenSet>
static size_t vcsn::letterset< GenSet >::hash ( value_t  v)
inlinestatic

Definition at line 164 of file letterset.hh.

References vcsn::hash_value().

Here is the call graph for this function:

template<typename GenSet>
static constexpr bool vcsn::letterset< GenSet >::is_free ( )
inlinestatic

Definition at line 79 of file letterset.hh.

template<typename GenSet>
static constexpr bool vcsn::letterset< GenSet >::is_letterized ( )
inlinestatic

Definition at line 136 of file letterset.hh.

template<typename GenSet>
static constexpr bool vcsn::letterset< GenSet >::is_one ( value_t  )
inlinestatic

Definition at line 148 of file letterset.hh.

template<typename GenSet>
static constexpr bool vcsn::letterset< GenSet >::is_ratexpset ( )
inlinestatic

Definition at line 130 of file letterset.hh.

template<typename GenSet>
static bool vcsn::letterset< GenSet >::is_special ( value_t  v)
inlinestatic

Definition at line 142 of file letterset.hh.

References vcsn::letterset< GenSet >::special().

Referenced by vcsn::letterset< GenSet >::print().

Here is the call graph for this function:

template<typename GenSet>
bool vcsn::letterset< GenSet >::is_valid ( value_t  v) const
inline

Definition at line 154 of file letterset.hh.

References vcsn::detail::genset_labelset< GenSet >::has().

Here is the call graph for this function:

template<typename GenSet>
static bool vcsn::letterset< GenSet >::less_than ( const value_t  l,
const value_t  r 
)
inlinestatic

Whether l < r.

Definition at line 118 of file letterset.hh.

template<typename GenSet>
static word_t vcsn::letterset< GenSet >::letters_of ( word_t  v)
inlinestatic

Prepare to iterate over the letters of v.

Definition at line 99 of file letterset.hh.

template<typename GenSet>
static letterset vcsn::letterset< GenSet >::make ( std::istream &  is)
inlinestatic

Build from the description in is.

Definition at line 60 of file letterset.hh.

References vcsn::eat().

Here is the call graph for this function:

template<typename GenSet>
bool vcsn::letterset< GenSet >::open ( bool  o) const
inline

Whether unknown letters should be added, or rejected.

Parameters
owhether to accept
Returns
the previous status.

Definition at line 74 of file letterset.hh.

References vcsn::detail::genset_labelset< GenSet >::genset().

Here is the call graph for this function:

template<typename GenSet>
std::ostream& vcsn::letterset< GenSet >::print ( const value_t l,
std::ostream &  o,
const std::string &  = "text" 
) const
inline

Definition at line 195 of file letterset.hh.

References vcsn::letterset< GenSet >::is_special(), and vcsn::str_escape().

Here is the call graph for this function:

template<typename GenSet>
std::ostream& vcsn::letterset< GenSet >::print_set ( std::ostream &  o,
symbol  format = symbol{"text"} 
) const
inline

Definition at line 204 of file letterset.hh.

template<typename GenSet>
static size_t vcsn::letterset< GenSet >::size ( value_t  )
inlinestatic

Definition at line 159 of file letterset.hh.

template<typename GenSet>
static std::string vcsn::letterset< GenSet >::sname ( )
inlinestatic

Definition at line 49 of file letterset.hh.

References vcsn::detail::genset_labelset< GenSet >::sname().

Here is the call graph for this function:

template<typename GenSet>
static value_t vcsn::letterset< GenSet >::special ( )
inlinestatic

Definition at line 105 of file letterset.hh.

Referenced by vcsn::letterset< GenSet >::is_special().

template<typename GenSet>
template<typename... Args>
value_t vcsn::letterset< GenSet >::value ( Args &&...  args) const
inline

Value constructor.

Definition at line 86 of file letterset.hh.

Referenced by vcsn::detail::nullable_helper< letterset< GenSet > >::value().

template<typename GenSet>
std::string vcsn::letterset< GenSet >::vname ( bool  full = true) const
inline

Definition at line 54 of file letterset.hh.

References vcsn::detail::genset_labelset< GenSet >::vname().

Here is the call graph for this function:

template<typename GenSet>
word_t vcsn::letterset< GenSet >::word ( value_t  v) const
inline

Convert to a word.

Definition at line 92 of file letterset.hh.


The documentation for this class was generated from the following files: