17 #ifndef AWALI_LABELSET_TRAITS_HH
18 #define AWALI_LABELSET_TRAITS_HH
207 template<
typename LS,
typename WS>
214 template<
typename LS,
typename WS>
218 return {
get_wordset(*ctx.labelset()), *ctx.weightset()};
221 template<
typename Context>
224 typename Context::weightset_t>>;
226 template<
typename Context>
229 typename Context::weightset_t>;
231 template<
typename Context>
234 typename Context::weightset_t>;
236 template<
typename Context>
240 typename Context::weightset_t>
245 template<
typename Context>
252 template<
typename Context>
carries the algebraic settings of automata
Definition: context.hh:40
Implementation of labels are letters.
Definition: letterset.hh:43
const genset_t & genset() const
Definition: letterset.hh:72
Implementation of labels are nullables (letter or empty).
Definition: nullableset.hh:189
const labelset_ptr labelset() const
Definition: nullableset.hh:281
Implementation of labels are ones: there is a single instance of label.
Definition: oneset.hh:38
Implementation of labels are words.
Definition: wordset.hh:35
const genset_t & genset() const
Definition: wordset.hh:56
labelset_description oneset()
auto get_wordset_context(const context< LS, WS > &ctx) -> context< typename labelset_trait< LS >::wordset_t, WS >
Definition: traits.hh:216
auto get_rat_context(const Context &ctx) -> context< typename labelset_trait< typename Context::labelset_t >::ratlabelset_t, typename Context::weightset_t >
Definition: traits.hh:238
auto get_not_nullable_context(const Context &ctx) -> not_nullable_of< Context >
Definition: traits.hh:254
auto get_nullableset(const L &labelset) -> typename labelset_trait< L >::nullable_t
Definition: traits.hh:195
auto get_letterset(const L &labelset) -> typename labelset_trait< L >::letterset_t
Definition: traits.hh:174
auto get_wordset(const L &labelset) -> typename labelset_trait< L >::wordset_t
Definition: traits.hh:181
auto get_ratlabelset(const L &labelset) -> typename labelset_trait< L >::ratlabelset_t
Definition: traits.hh:188
auto get_not_nullableset(const L &labelset) -> typename labelset_trait< L >::not_nullable_t
Definition: traits.hh:202
auto get_nullable_context(const Context &ctx) -> nullable_of< Context >
Definition: traits.hh:247
auto get_letterset_context(const context< LS, WS > &ctx) -> context< typename labelset_trait< LS >::letterset_t, WS >
Definition: traits.hh:209
Main namespace of Awali.
Definition: ato.hh:22
static nullable_t get_nullableset(const letterset< T > &ls)
Definition: traits.hh:78
static wordset_t get_wordset(const letterset< T > &ls)
Definition: traits.hh:74
static const letterset_t & get_letterset(const letterset< T > &ls)
Definition: traits.hh:70
static const not_nullable_t & get_not_nullableset(const letterset< T > &ls)
Definition: traits.hh:82
static const ratlabelset_t & get_ratlabelset(const letterset< T > &ls)
Definition: traits.hh:86
static ratlabelset_t get_ratlabelset(const nullableset< T > &ls)
Definition: traits.hh:152
typename labelset_trait< T >::nullable_t nullable_t
Definition: traits.hh:126
static nullable_t get_nullableset(const nullableset< T > &ls)
Definition: traits.hh:142
typename labelset_trait< T >::not_nullable_t not_nullable_t
Definition: traits.hh:127
static wordset_t get_wordset(const nullableset< T > &ls)
Definition: traits.hh:137
typename labelset_trait< T >::ratlabelset_t ratlabelset_t
Definition: traits.hh:130
static letterset_t get_letterset(const nullableset< T > &ls)
Definition: traits.hh:132
typename labelset_trait< T >::letterset_t letterset_t
Definition: traits.hh:128
typename labelset_trait< T >::wordset_t wordset_t
Definition: traits.hh:129
static not_nullable_t get_not_nullableset(const nullableset< T > &ls)
Definition: traits.hh:147
static letterset_t get_letterset(const wordset< T > &ls)
Definition: traits.hh:101
static const nullable_t & get_nullableset(const wordset< T > &ls)
Definition: traits.hh:109
static const ratlabelset_t & get_ratlabelset(const wordset< T > &ls)
Definition: traits.hh:117
static const wordset_t & get_wordset(const wordset< T > &ls)
Definition: traits.hh:105
static const not_nullable_t & get_not_nullableset(const wordset< T > &ls)
Definition: traits.hh:113
trait that computes the related types of a labelset
Definition: traits.hh:33
L ratlabelset_t
Definition: traits.hh:38
static const wordset_t & get_wordset(const L &ls)
Definition: traits.hh:44
L not_nullable_t
Definition: traits.hh:35
static const nullable_t & get_nullableset(const L &ls)
Definition: traits.hh:48
static const not_nullable_t & get_not_nullableset(const L &ls)
Definition: traits.hh:52
L nullable_t
Definition: traits.hh:34
static const letterset_t & get_letterset(const L &ls)
Definition: traits.hh:40
L wordset_t
Definition: traits.hh:37
L letterset_t
Definition: traits.hh:36
static const ratlabelset_t & get_ratlabelset(const L &ls)
Definition: traits.hh:56
Provide a variadic mul on top of a binary mul(), and one().
Definition: weightset.hh:38