22 template <
typename Context>
23 class context_wrapper;
26 using context = std::shared_ptr<const detail::context_base>;
32 template <
typename ExpansionSet>
33 class expansion_wrapper;
35 using expansion = std::shared_ptr<const detail::expansion_base>;
41 template <
typename LabelSet>
44 using label = std::shared_ptr<const detail::label_base>;
49 class polynomial_base;
50 template <
typename PolynomialSet>
53 using polynomial = std::shared_ptr<const detail::polynomial_base>;
58 class expression_base;
59 template <
typename ExpSet>
60 class expression_wrapper;
62 using expression = std::shared_ptr<detail::expression_base>;
68 template <
typename WeightSet>
71 using weight = std::shared_ptr<const detail::weight_base>;
Aggregate a polynomial and its polynomialset.
Provide a variadic mul on top of a binary mul(), and one().
Implementation of labels are words.
std::shared_ptr< const detail::polynomial_base > polynomial
Aggregate a label and its labelset.
detail::automaton automaton
ValueSet::value_t tuple(const ValueSet &vs, const typename ValueSets::value_t &...v)
Implementation of labels are nullables (letter or empty).
std::shared_ptr< const detail::context_base > context
A dyn::context.
Implementation of labels are ones: there is a single instance of label.
Implementation of labels are letters.
std::shared_ptr< const detail::weight_base > weight
std::shared_ptr< const detail::label_base > label
std::shared_ptr< const detail::expansion_base > expansion
std::shared_ptr< detail::expression_base > expression
Aggregate a weight and its weightset.