//===----------------------------------------------------------------------===// // DuckDB // // duckdb/parser/parsed_expression_iterator.hpp // // //===----------------------------------------------------------------------===// #pragma once #include "duckdb/parser/parsed_expression.hpp" #include "duckdb/parser/tokens.hpp" #include namespace duckdb { class ParsedExpressionIterator { public: static void EnumerateChildren(const ParsedExpression &expression, const std::function &callback); static void EnumerateChildren(ParsedExpression &expr, const std::function &callback); static void EnumerateChildren(ParsedExpression &expr, const std::function &child)> &callback); static void EnumerateTableRefChildren(TableRef &ref, const std::function &child)> &callback); static void EnumerateQueryNodeChildren(QueryNode &node, const std::function &child)> &callback); static void EnumerateQueryNodeModifiers(QueryNode &node, const std::function &child)> &callback); }; } // namespace duckdb