12 template <
typename Context>
21 template <type_t Type>
24 template <type_t Type>
27 template <type_t Type>
30 template <type_t Type>
46 #define DEFINE(Type) \ 47 using Type ## _t = Type<context_t>; \ 48 virtual void visit(const Type ## _t& v) 71 #define VCSN_RAT_VISIT(Type, Val) \ 72 using Type ## _t = typename super_t::Type ## _t; \ 73 void visit(const Type ## _t& Val) override 75 #define VCSN_RAT_UNSUPPORTED(Type) \ 76 VCSN_RAT_VISIT(Type, e) \ 78 raise(me(), ": operator " #Type " not supported: ", \ 79 to_string(rs_, e.shared_from_this())); \ void visit(const tuple< context_t > &v)
An inner node with multiple children.
An inner node to name the subexpression.
std::integral_constant< bool, B > bool_constant
void visit(const tuple< context_t > &, std::false_type)
Implementation of nodes of tuple of rational expressions.
The abstract parameterized, root for all rational expression types.
An inner node implementing a weight.
The root from which to derive the final node types.
#define BUILTIN_UNREACHABLE()