OmniSciDB  72c90bc290
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
RelAlgDagViewer::BreadthFirstSearch Struct Reference

#include <RelAlgDagViewer.h>

+ Inheritance diagram for RelAlgDagViewer::BreadthFirstSearch:
+ Collaboration diagram for RelAlgDagViewer::BreadthFirstSearch:

Public Member Functions

 while (!nodes.empty())
 
- Public Member Functions inherited from RelAlgDagNode::Visitor
virtual ~Visitor ()
 
virtual bool visit (RelAggregate const *n, std::string s)
 
virtual bool visit (RelCompound const *n, std::string s)
 
virtual bool visit (RelFilter const *n, std::string s)
 
virtual bool visit (RelJoin const *n, std::string s)
 
virtual bool visit (RelLeftDeepInnerJoin const *n, std::string s)
 
virtual bool visit (RelLogicalUnion const *n, std::string s)
 
virtual bool visit (RelLogicalValues const *n, std::string s)
 
virtual bool visit (RelModify const *n, std::string s)
 
virtual bool visit (RelProject const *n, std::string s)
 
virtual bool visit (RelScan const *n, std::string s)
 
virtual bool visit (RelSort const *n, std::string s)
 
virtual bool visit (RelTableFunction const *n, std::string s)
 
virtual bool visit (RelTranslatedJoin const *n, std::string s)
 
virtual bool visit (RexAbstractInput const *n, std::string s)
 
virtual bool visit (RexCase const *n, std::string s)
 
virtual bool visit (RexFunctionOperator const *n, std::string s)
 
virtual bool visit (RexInput const *n, std::string s)
 
virtual bool visit (RexLiteral const *n, std::string s)
 
virtual bool visit (RexOperator const *n, std::string s)
 
virtual bool visit (RexRef const *n, std::string s)
 
virtual bool visit (RexAgg const *n, std::string s)
 
virtual bool visit (RexSubQuery const *n, std::string s)
 
virtual bool visit (RexWindowFunctionOperator const *n, std::string s)
 

Public Attributes

 __pad0__: callback(callback) {} virtual void search(RelAlgDagNode const* root) { nodes.clear()
 
root accept * this
 
std::vector< RelAlgDagNode
const * > 
nodes
 

Protected Member Functions

virtual bool visitAny (RelAlgDagNode const *n, std::string s) override
 

Protected Attributes

std::function< void(RelAlgDagNode
const *)> 
callback
 

Detailed Description

Definition at line 105 of file RelAlgDagViewer.h.

Member Function Documentation

virtual bool RelAlgDagViewer::BreadthFirstSearch::visitAny ( RelAlgDagNode const *  n,
std::string  s 
)
inlineoverrideprotectedvirtual

Reimplemented from RelAlgDagNode::Visitor.

Definition at line 125 of file RelAlgDagViewer.h.

References callback, and nodes.

125  {
126  nodes.push_back(n);
127  callback(n);
128  return /*recurse=*/false;
129  }
std::function< void(RelAlgDagNode const *)> callback
constexpr double n
Definition: Utm.h:38
std::vector< RelAlgDagNode const * > nodes
RelAlgDagViewer::BreadthFirstSearch::while ( !nodes.  empty())
inline

Definition at line 112 of file RelAlgDagViewer.h.

References nodes.

112  {
113  auto temp = std::move(nodes);
114  for (auto& node : temp) {
115  if (node) {
116  node->acceptChildren(*this);
117  }
118  }
119  }
std::vector< RelAlgDagNode const * > nodes

Member Data Documentation

RelAlgDagViewer::BreadthFirstSearch::__pad0__

Definition at line 110 of file RelAlgDagViewer.h.

std::function<void(RelAlgDagNode const*)> RelAlgDagViewer::BreadthFirstSearch::callback
protected

Definition at line 130 of file RelAlgDagViewer.h.

Referenced by visitAny().

std::vector<RelAlgDagNode const*> RelAlgDagViewer::BreadthFirstSearch::nodes

Definition at line 122 of file RelAlgDagViewer.h.

Referenced by visitAny(), and while().

root accept* RelAlgDagViewer::BreadthFirstSearch::this

Definition at line 111 of file RelAlgDagViewer.h.


The documentation for this struct was generated from the following file: