14 template <
typename Context,
typename Identities>
17 const auto& c = ctx->
as<Context>();
19 return {
rs, rs.one()};
23 template <
typename Context,
typename Identities>
26 const auto& c = ctx->
as<Context>();
28 return {
rs, rs.zero()};
32 template <
typename Context>
35 const auto& c = ctx->
as<Context>();
36 auto ws = *c.weightset();
37 return {ws, ws.one()};
41 template <
typename Context>
44 const auto& c = ctx->
as<Context>();
45 auto ws = *c.weightset();
46 return {ws, ws.zero()};
expression expression_zero(const context &ctx, identities ids)
Bridge.
static identities ids(const driver &d)
Get the identities of the driver.
auto make_expressionset(const context< LabelSet, WeightSet > &ctx, rat::identities ids={}) -> expressionset< context< LabelSet, WeightSet >>
Shorthand to expressionset constructor.
auto & as()
Downcast to the exact type.
weight weight_one(const context &ctx)
Bridge.
weight weight_zero(const context &ctx)
Bridge.
Template-less root for contexts.
expression expression_one(const context &ctx, identities ids)
Bridge.
value_impl< detail::expression_tag > expression