|  | 
| template<typename R , typename N > | 
| LambdaVisitor< R, N > | souffle::ast::detail::makeLambdaVisitor (const std::function< R(const N &)> &fun) | 
|  | A factory function for creating LambdaVisitor instances.  More... 
 | 
|  | 
| template<typename Lambda , typename R  = typename lambda_traits<Lambda>::result_type, typename N  = typename lambda_traits<Lambda>::arg0_type> | 
| std::enable_if<!detail::is_ast_visitor< Lambda >::value, void >::type | souffle::ast::visitDepthFirst (const Node &root, const Lambda &fun) | 
|  | A utility function visiting all nodes within the ast rooted by the given node recursively in a depth-first pre-order fashion applying the given function to each encountered node.  More... 
 | 
|  | 
| template<typename R , typename N > | 
| void | souffle::ast::visitDepthFirst (const Node &root, const std::function< R(const N &)> &fun) | 
|  | A utility function visiting all nodes within the ast rooted by the given node recursively in a depth-first pre-order fashion applying the given function to each encountered node.  More... 
 | 
|  | 
| template<typename R , typename... Ps, typename... Args> | 
| void | souffle::ast::visitDepthFirst (const Node &root, Visitor< R, Ps... > &visitor, Args &... args) | 
|  | A utility function visiting all nodes within the ast rooted by the given node recursively in a depth-first pre-order fashion applying the given visitor to each encountered node.  More... 
 | 
|  | 
| template<typename T , typename Lambda > | 
| void | souffle::ast::visitDepthFirst (const std::vector< T * > &list, const Lambda &fun) | 
|  | A utility function visiting all nodes within a given list of AST root nodes recursively in a depth-first pre-order fashion applying the given function to each encountered node.  More... 
 | 
|  | 
| template<typename T , typename Lambda > | 
| void | souffle::ast::visitDepthFirst (const VecOwn< T > &list, const Lambda &fun) | 
|  | A utility function visiting all nodes within a given list of AST root nodes recursively in a depth-first pre-order fashion applying the given function to each encountered node.  More... 
 | 
|  | 
| template<typename Lambda , typename R  = typename lambda_traits<Lambda>::result_type, typename N  = typename lambda_traits<Lambda>::arg0_type> | 
| std::enable_if<!detail::is_ast_visitor< Lambda >::value, void >::type | souffle::ast::visitDepthFirstPostOrder (const Node &root, const Lambda &fun) | 
|  | A utility function visiting all nodes within the ast rooted by the given node recursively in a depth-first post-order fashion applying the given function to each encountered node.  More... 
 | 
|  | 
| template<typename R , typename N > | 
| void | souffle::ast::visitDepthFirstPostOrder (const Node &root, const std::function< R(const N &)> &fun) | 
|  | A utility function visiting all nodes within the ast rooted by the given node recursively in a depth-first post-order fashion applying the given function to each encountered node.  More... 
 | 
|  | 
| template<typename R , typename... Ps, typename... Args> | 
| void | souffle::ast::visitDepthFirstPostOrder (const Node &root, Visitor< R, Ps... > &visitor, Args &... args) | 
|  | A utility function visiting all nodes within the ast rooted by the given node recursively in a depth-first post-order fashion applying the given visitor to each encountered node.  More... 
 | 
|  | 
| template<typename R , typename... Ps, typename... Args> | 
| void | souffle::ast::visitDepthFirstPreOrder (const Node &root, Visitor< R, Ps... > &visitor, Args &... args) | 
|  | A utility function visiting all nodes within the ast rooted by the given node recursively in a depth-first pre-order fashion applying the given visitor to each encountered node.  More... 
 | 
|  |