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