12 template <
typename ValueSet>
13 typename ValueSet::value_t
15 const typename ValueSet::value_t& lhs,
16 const typename ValueSet::value_t& rhs)
18 return vs.compose(lhs, rhs);
31 template <
typename ExpSetLhs,
typename ExpSetRhs>
35 auto join_elts = join<ExpSetLhs, ExpSetRhs>(lhs, rhs);
36 return {std::get<0>(join_elts),
38 std::get<1>(join_elts),
39 std::get<2>(join_elts))};
53 template <
typename ExpSetLhs,
typename ExpSetRhs>
57 auto join_elts = join<ExpSetLhs, ExpSetRhs>(lhs, rhs);
58 return {std::get<0>(join_elts),
60 std::get<1>(join_elts),
61 std::get<2>(join_elts))};
75 template <
typename PolSetLhs,
typename PolSetRhs>
79 auto join_elts = join<PolSetLhs, PolSetRhs>(lhs, rhs);
80 return {std::get<0>(join_elts),
82 std::get<1>(join_elts),
83 std::get<2>(join_elts))};
polynomial compose_polynomial(const polynomial &lhs, const polynomial &rhs)
Bridge (compose).
expression compose_expression(const expression &lhs, const expression &rhs)
Bridge (compose).
value_impl< detail::polynomial_tag > polynomial
value_impl< detail::expansion_tag > expansion
ValueSet::value_t compose(const ValueSet &vs, const typename ValueSet::value_t &lhs, const typename ValueSet::value_t &rhs)
Composition of values.
expansion compose_expansion(const expansion &lhs, const expansion &rhs)
Bridge (compose).
value_impl< detail::expression_tag > expression