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) 70 #define VCSN_RAT_VISIT(Type, Val) \ 71 using Type ## _t = typename super_t::Type ## _t; \ 72 void visit(const Type ## _t& Val) override 74 #define VCSN_RAT_UNSUPPORTED(Type) \ 75 VCSN_RAT_VISIT(Type, e) \ 77 raise(me(), ": operator " #Type " not supported: ", \ 78 to_string(rs_, e.shared_from_this())); \ Implementation of nodes of tuple of rational expressions.
The abstract parameterized, root for all rational expression types.
#define BUILTIN_UNREACHABLE()
void visit(const tuple< context_t > &v)
The root from which to derive the final node types.
std::integral_constant< bool, B > bool_constant
An inner node with multiple children.
An inner node implementing a weight.
void visit(const tuple< context_t > &, std::false_type)