SPROUT_CONSTEXPR result_type call_1( typename Expr::args_type const& args, context_type const& ctx, Result1 const& res ) const { return res.success() ? result_type( true, res.current(), sprout::weed::attr_cnv::bitwise_or<attr1_type, attr2_type>(res.attr()), context_type(ctx, res.current()) ) : call_2(args, ctx, sprout::weed::eval(sprout::tuples::get<1>(args), ctx)) ; }
SPROUT_CONSTEXPR result_type call_1( typename Expr::args_type const& args, context_type const& ctx, Result1 const& res ) const { return res.success() ? call_2( args, ctx, res.attr(), sprout::weed::eval(sprout::tuples::get<1>(args), context_type(ctx, res.current())) ) : result_type(false, ctx.begin(), attribute_type(), ctx) ; }