21 template <
typename Context,
typename Tape>
25 auto& c = ctx->as<Context>();
26 return make_context(vcsn::detail::project<Tape::value>(c));
39 template <
size_t Tape,
typename Context>
55 template <
size_t Tape,
typename ValueSet>
57 const typename ValueSet::value_t&
v)
60 "project: invalid tape number");
61 return vs.template project<Tape>(
v);
65 template <
size_t Tape,
typename Context, wet_kind_t Kind>
69 "project: invalid tape number");
70 auto ctx_out = vcsn::detail::project<Tape>(ps.context());
80 template <
typename PolynomialSet,
typename Tape>
84 constexpr
auto tape = Tape::value;
85 auto& p = poly->as<PolynomialSet>();
86 const auto& ps_in = p.polynomialset();
87 auto ps_out = vcsn::detail::project<tape>(ps_in);
89 vcsn::detail::project<tape>(ps_in,
104 template <
typename Label,
typename Tape>
108 constexpr
auto tape = Tape::value;
109 const auto& l = lbl->as<Label>();
110 const auto& ls = l.labelset();
111 return make_label(ls.template set<tape>(), std::get<tape>(l.label()));
std::shared_ptr< const detail::polynomial_base > polynomial
auto project(const expressionset< Context > &rs)
Project an expressionset to one tape.
polynomial make_polynomial(const PolynomialSet &ps, const typename PolynomialSet::value_t &p)
label project_label(const label &lbl, integral_constant)
Bridge (project).
A simple placeholder for integral constants.
polynomial project_polynomial(const polynomial &poly, integral_constant)
Bridge (project).
typename detail::labelset_t_of_impl< base_t< ValueSet >>::type labelset_t_of
label make_label(const LabelSet &ls, const typename LabelSet::value_t &l)
Provide a variadic mul on top of a binary mul(), and one().
std::shared_ptr< const detail::label_base > label
context project_context(const context &ctx, integral_constant)
Bridge (project).
context make_context(const std::string &name)
Bridge.
std::shared_ptr< const detail::context_base > context
A dyn::context.
expressionset< Context > make_expressionset(const Context &ctx, rat::identities identities={})
Shorthand to expressionset constructor.
static dyn::context ctx(const driver &d)
Get the context of the driver.
polynomialset< Context, Kind > make_polynomialset(const Context &context)