29 #include "../RelAlgDagBuilder.h"
58 virtual void visit(RexLiteral
const*) {}
61 virtual void visit(RexSubQuery
const*);
65 template <
typename T,
typename U>
67 visit(dynamic_cast<U const*>(node));
70 template <
typename T,
size_t N>
71 using Handlers = std::array<TypeHandler<RelRexDagVisitor, T>, N>;
73 template <
typename T,
typename... Ts>
virtual void visit(RelScan const *)
void visit(RelAlgNode const *)
virtual void visit(RexInput const *)
virtual void visit(RexRef const *)
virtual void visit(RexAbstractInput const *)
std::array< TypeHandler< RelRexDagVisitor, T >, N > Handlers
static Handlers< T, sizeof...(Ts)> make_handlers()
virtual void visit(RexLiteral const *)
virtual void visit(RelAggregate const *)
virtual ~RelRexDagVisitor()=default
virtual void visit(RelLogicalUnion const *)
virtual void visit(RelSort const *)
virtual void visit(RelModify const *)