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...);                  \