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.
An inner node implementing a weight.
void visit(const tuple< context_t > &, std::false_type)
void visit(const tuple< context_t > &v)
#define BUILTIN_UNREACHABLE()
std::integral_constant< bool, B > bool_constant
An inner node with multiple children.
The root from which to derive the final node types.
The abstract parameterized, root for all rational expression types.