4 #include <vcsn/dyn/fwd.hh>
15 template <
typename Context>
21 return ctx.labelset()->conv(is, quoted);
29 template <
typename Context,
typename Istream,
typename Bool>
33 const auto& c = ctx->
as<Context>();
35 return {*c.labelset(), res};
45 template <
typename Context>
58 template <
typename Context,
typename Istream>
62 const auto& c = ctx->
as<Context>();
75 template <
typename Context>
80 return ctx.weightset()->conv(is);
88 template <
typename Context,
typename Istream>
92 const auto& c = ctx->
as<Context>();
94 return {*c.weightset(), res};
value_impl< detail::weight_tag > weight
polynomial read_polynomial(const context &ctx, std::istream &is)
Bridge.
Provide a variadic mul on top of a binary mul(), and one().
typename detail::label_t_of_impl< base_t< ValueSet >>::type label_t_of
auto & as()
Downcast to the exact type.
auto read_polynomial(const Context &ctx, std::istream &is) -> typename polynomialset< Context >::value_t
weight read_weight(const context &ctx, std::istream &is)
Bridge.
Template-less root for contexts.
typename detail::weight_t_of_impl< base_t< ValueSet >>::type weight_t_of
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.
value_impl< detail::label_tag > label
auto read_label(const Context &ctx, std::istream &is, bool quoted=false) -> label_t_of< Context >
auto read_weight(const Context &ctx, std::istream &is) -> weight_t_of< Context >
value_impl< detail::polynomial_tag > polynomial
label read_label(const context &ctx, std::istream &is, bool quoted)
Bridge.