![]() |
Vcsn
2.8
Be Rational
|
Add support for an empty word to a LabelSet that does not provide such special label to this end. More...
#include <nullableset.hh>
Public Types | |
using | labelset_t = LabelSet |
using | value_t = std::pair< typename labelset_t::value_t, bool > |
Static Public Member Functions | |
static ATTRIBUTE_PURE constexpr value_t | one () |
static ATTRIBUTE_PURE constexpr value_t | special () |
template<typename Ls > | |
static ATTRIBUTE_PURE std::enable_if_t< Ls::has_one(), bool > | is_one_ (const value_t &l) |
template<typename Ls > | |
static ATTRIBUTE_PURE std::enable_if_t<!Ls::has_one(), bool > | is_one_ (const value_t &l) |
static ATTRIBUTE_PURE bool | is_one (const value_t &l) |
template<typename Value > | |
static Value | transpose (const labelset_t &ls, Value l) |
template<typename... Args> | |
static value_t | value (const labelset_t &ls, Args &&... args) |
static ATTRIBUTE_PURE labelset_t::value_t | get_value (const value_t &v) |
static auto | generators (const labelset_t &ls) |
static auto | pregenerators (const labelset_t &ls) |
Add support for an empty word to a LabelSet that does not provide such special label to this end.
LabelSet | the LabelSet to which we want to add nullable support (e.g., a letterset<>). |
Definition at line 29 of file nullableset.hh.
using vcsn::detail::nullable_helper< LabelSet >::labelset_t = LabelSet |
Definition at line 31 of file nullableset.hh.
using vcsn::detail::nullable_helper< LabelSet >::value_t = std::pair<typename labelset_t::value_t, bool> |
Definition at line 32 of file nullableset.hh.
|
inlinestatic |
Definition at line 98 of file nullableset.hh.
|
inlinestatic |
Definition at line 93 of file nullableset.hh.
References vcsn::detail::v.
Referenced by vcsn::nullableset< LabelSet >::compare(), vcsn::nullableset< LabelSet >::conjunction(), vcsn::nullableset< LabelSet >::equal(), vcsn::nullableset< LabelSet >::hash(), vcsn::nullableset< LabelSet >::is_letter(), vcsn::detail::nullable_helper< LabelSet >::is_one_(), vcsn::nullableset< LabelSet >::is_special(), vcsn::nullableset< LabelSet >::is_valid(), vcsn::nullableset< LabelSet >::less(), vcsn::nullableset< LabelSet >::lgcd(), vcsn::nullableset< LabelSet >::maybe_ldivide(), vcsn::nullableset< LabelSet >::maybe_rdivide(), vcsn::nullableset< LabelSet >::print(), vcsn::nullableset< LabelSet >::size(), vcsn::detail::nullable_helper< LabelSet >::transpose(), and vcsn::nullableset< LabelSet >::word().
|
inlinestatic |
Definition at line 66 of file nullableset.hh.
Referenced by vcsn::nullableset< LabelSet >::compare(), vcsn::nullableset< LabelSet >::conjunction(), vcsn::nullableset< LabelSet >::equal(), vcsn::nullableset< LabelSet >::hash(), vcsn::nullableset< LabelSet >::is_letter(), vcsn::nullableset< LabelSet >::is_special(), vcsn::nullableset< LabelSet >::is_valid(), vcsn::nullableset< LabelSet >::less(), vcsn::nullableset< LabelSet >::lgcd(), vcsn::nullableset< LabelSet >::maybe_ldivide(), vcsn::nullableset< LabelSet >::maybe_rdivide(), vcsn::nullableset< LabelSet >::mul(), vcsn::nullableset< LabelSet >::print(), vcsn::nullableset< LabelSet >::size(), vcsn::detail::nullable_helper< LabelSet >::transpose(), and vcsn::nullableset< LabelSet >::word().
|
inlinestatic |
Definition at line 51 of file nullableset.hh.
References vcsn::detail::nullable_helper< LabelSet >::get_value().
|
inlinestatic |
Definition at line 59 of file nullableset.hh.
|
inlinestatic |
Definition at line 36 of file nullableset.hh.
Referenced by vcsn::nullableset< LabelSet >::conv(), vcsn::detail::nullable_helper< letterset< GenSet > >::is_one(), vcsn::nullableset< LabelSet >::lgcd(), vcsn::nullableset< LabelSet >::maybe_ldivide(), and vcsn::nullableset< LabelSet >::maybe_rdivide().
|
inlinestatic |
Definition at line 103 of file nullableset.hh.
|
inlinestatic |
Definition at line 43 of file nullableset.hh.
|
inlinestatic |
Definition at line 73 of file nullableset.hh.
References vcsn::detail::nullable_helper< LabelSet >::get_value(), and vcsn::detail::nullable_helper< LabelSet >::is_one().
|
inlinestatic |
Definition at line 86 of file nullableset.hh.
Referenced by vcsn::nullableset< LabelSet >::conv(), vcsn::nullableset< LabelSet >::convs(), vcsn::nullableset< LabelSet >::lgcd(), vcsn::nullableset< LabelSet >::maybe_ldivide(), and vcsn::nullableset< LabelSet >::maybe_rdivide().