1 #ifndef VCSN_DYN_LABEL_HH 
    2 # define VCSN_DYN_LABEL_HH 
   23         virtual std::string 
vname(
bool full = 
true) 
const = 0;
 
   26         template <
typename LabelSet>
 
   33         template <
typename LabelSet>
 
   41       template <
typename LabelSet>
 
   42       class label_wrapper: 
public label_base
 
   47         using label_t = 
typename labelset_t::value_t;
 
   53         virtual std::string 
vname(
bool full = 
true)
 const override 
   77     using label = std::shared_ptr<const detail::label_base>;
 
   79     template <
typename LabelSet>
 
   83                const typename LabelSet::value_t& l)
 
   85       return std::make_shared<detail::label_wrapper<LabelSet>>(l, ls);
 
   88     template <
typename LabelSet>
 
   92               const typename LabelSet::value_t& l)
 
   99 #endif // !VCSN_DYN_LABEL_HH 
const label_t label_
The label. 
typename labelset_t::value_t label_t
label_wrapper< LabelSet > & as()
Extract wrapped typed label. 
label make_word(const LabelSet &ls, const typename LabelSet::value_t &l)
virtual std::string vname(bool full=true) const override
A description of the label type. 
label_wrapper(const label_t &l, const labelset_t &ls)
const labelset_t & labelset() const 
const label_wrapper< LabelSet > & as() const 
Extract wrapped typed label. 
law_t< LabelSet > make_wordset(const LabelSet &ls)
The wordset of a labelset. 
const label_t label() const 
std::shared_ptr< const detail::label_base > label
const labelset_t labelset_
The label set. 
Aggregate a label and its labelset. 
label make_label(const LabelSet &ls, const typename LabelSet::value_t &l)