11 template <
typename ExpSet>
12 typename ExpSet::value_t
13 expand(
const ExpSet&
rs,
const typename ExpSet::value_t&
r)
28 template <
typename ExpSet>
32 const auto& e = exp->as<ExpSet>();
ExpSet::value_t expand(const ExpSet &rs, const typename ExpSet::value_t &r)
Expand a typed expression, i.e., distribute multiplications over sums.
auto conv(const ValueSet &vs, const std::string &str, Args &&...args) -> decltype(vs.conv(std::declval< std::istream & >(), std::forward< Args >(args)...))
Parse str via vs.conv.
std::string to_string(direction d)
Conversion to string.
expression expand(const expression &exp)
Bridge.
auto make_expressionset(const context< LabelSet, WeightSet > &ctx, rat::identities ids={}) -> expressionset< context< LabelSet, WeightSet >>
Shorthand to expressionset constructor.
Provide a variadic mul on top of a binary mul(), and one().
value_impl< detail::expression_tag > expression