3#include "AbstractNodeVisitor.h"
5#include <knowCore/Global.h>
7#define __KDB_SPARQL_ALGEBRA_NODE_VISITOR_OVERLOAD(_NAME_, _I_) \
8 Return visit(_NAME_##CSP _node, const Parameter& _parameter);
10#define KDB_SPARQL_ALGEBRA_NODE_VISITOR_OVERLOAD(...) \
11 KNOWCORE_FOREACH(__KDB_SPARQL_ALGEBRA_NODE_VISITOR_OVERLOAD, __VA_ARGS__)
13namespace kDB::SPARQL::Algebra
20 template<
typename _TR_,
typename... _TArgs_>
24 virtual _TR_ visitDefault(
NodeCSP _node,
const _TArgs_&...) = 0;
25#define KDB_SPARQL_ALGEBRA_GENERATE(_KLASS_NAME_, _MEMBER_DEF_) \
26 _TR_ visit(_KLASS_NAME_##CSP _node, const _TArgs_&... _args) override \
28 return visitDefault(_node, _args...); \
31#undef KDB_SPARQL_ALGEBRA_GENERATE
Definition NodeVisitorImplementation.h:22