4 #include <vcsn/dyn/fwd.hh> 14 template <
typename Context>
20 return ctx.labelset()->conv(is, quoted);
28 template <
typename Context,
typename Istream,
typename Bool>
32 const auto& c = ctx->
as<Context>();
34 return {*c.labelset(), res};
44 template <
typename Context>
57 template <
typename Context,
typename Istream>
61 const auto& c = ctx->
as<Context>();
74 template <
typename Context>
79 return ctx.weightset()->conv(is);
87 template <
typename Context,
typename Istream>
91 const auto& c = ctx->
as<Context>();
93 return {*c.weightset(), res};
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.
typename detail::label_t_of_impl< base_t< ValueSet > >::type label_t_of
auto read_label(const Context &ctx, std::istream &is, bool quoted=false) -> label_t_of< Context >
polynomial read_polynomial(const context &ctx, std::istream &is)
Bridge.
Template-less root for contexts.
auto & as()
Downcast to the exact type.
value_impl< detail::weight_tag > weight
value_impl< detail::label_tag > label
Provide a variadic mul on top of a binary mul(), and one().
typename detail::weight_t_of_impl< base_t< ValueSet > >::type weight_t_of
weight read_weight(const context &ctx, std::istream &is)
Bridge.
value_impl< detail::polynomial_tag > polynomial
label read_label(const context &ctx, std::istream &is, bool quoted)
Bridge.