|
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...
|
|