The generic base type of all AstVisitors realizing the dispatching of visitor calls.
More...
template<typename R = void, typename... Params>
struct souffle::ast::Visitor< R, Params >
The generic base type of all AstVisitors realizing the dispatching of visitor calls.
Each visitor may define a return type R and a list of extra parameters to be passed along with the visited Nodes to the corresponding visitor function.
- Template Parameters
-
R | the result type produced by a visit call |
Params | extra parameters to be passed to the visit call |
Definition at line 87 of file Visitor.h.
template<typename R = void, typename... Params>
The main entry for a visit process conducting the dispatching of a visit to the various sub-types of Nodes.
Sub-classes may override this implementation to conduct pre-visit operations.
- Parameters
-
node | the node to be visited |
args | a list of extra parameters to be forwarded |
Definition at line 104 of file Visitor.h.
148 : %s
", typeid(node).name());
152 #define LINK(Node, Parent) \
153 virtual R visit##Node(const Node& n, Params... args) { \
154 return visit##Parent(n, args...); \