OmniSciDB  1dac507f6e
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Planner::Join Class Reference

#include <Planner.h>

+ Inheritance diagram for Planner::Join:
+ Collaboration diagram for Planner::Join:

Public Member Functions

 Join (const std::vector< std::shared_ptr< Analyzer::TargetEntry >> &t, const std::list< std::shared_ptr< Analyzer::Expr >> &q, double c, Plan *p, Plan *cp2)
 
void print () const override
 
const Planget_outerplan () const
 
const Planget_innerplan () const
 
- Public Member Functions inherited from Planner::Plan
 Plan (const std::vector< std::shared_ptr< Analyzer::TargetEntry >> &t, const std::list< std::shared_ptr< Analyzer::Expr >> &q, double c, Plan *p)
 
 Plan (const std::vector< std::shared_ptr< Analyzer::TargetEntry >> &t, double c, Plan *p)
 
 Plan ()
 
 Plan (const std::vector< std::shared_ptr< Analyzer::TargetEntry >> &t)
 
virtual ~Plan ()
 
const std::vector
< std::shared_ptr
< Analyzer::TargetEntry > > & 
get_targetlist () const
 
const std::list
< std::shared_ptr
< Analyzer::Expr > > & 
get_quals () const
 
double get_cost () const
 
const Planget_child_plan () const
 
void add_tle (std::shared_ptr< Analyzer::TargetEntry > tle)
 
void set_targetlist (const std::vector< std::shared_ptr< Analyzer::TargetEntry >> &t)
 

Private Attributes

std::unique_ptr< Planchild_plan2
 

Additional Inherited Members

- Protected Attributes inherited from Planner::Plan
std::vector< std::shared_ptr
< Analyzer::TargetEntry > > 
targetlist
 
std::list< std::shared_ptr
< Analyzer::Expr > > 
quals
 
double cost
 
std::unique_ptr< Planchild_plan
 

Detailed Description

Definition at line 152 of file Planner.h.

Constructor & Destructor Documentation

Planner::Join::Join ( const std::vector< std::shared_ptr< Analyzer::TargetEntry >> &  t,
const std::list< std::shared_ptr< Analyzer::Expr >> &  q,
double  c,
Plan p,
Plan cp2 
)
inline

Definition at line 154 of file Planner.h.

159  : Plan(t, q, c, p), child_plan2(cp2) {}
std::unique_ptr< Plan > child_plan2
Definition: Planner.h:165

Member Function Documentation

const Plan* Planner::Join::get_innerplan ( ) const
inline

Definition at line 162 of file Planner.h.

References child_plan2.

Referenced by Planner::anonymous_namespace{Planner.cpp}::get_join_target_list(), and print().

162 { return child_plan2.get(); }
std::unique_ptr< Plan > child_plan2
Definition: Planner.h:165

+ Here is the caller graph for this function:

const Plan* Planner::Join::get_outerplan ( ) const
inline

Definition at line 161 of file Planner.h.

References Planner::Plan::child_plan.

Referenced by Planner::anonymous_namespace{Planner.cpp}::get_join_target_list(), and print().

161 { return child_plan.get(); }
std::unique_ptr< Plan > child_plan
Definition: Planner.h:70

+ Here is the caller graph for this function:

void Planner::Join::print ( ) const
overridevirtual

Reimplemented from Planner::Plan.

Definition at line 402 of file Planner.cpp.

References get_innerplan(), get_outerplan(), and Planner::Plan::print().

402  {
403  std::cout << "(Join" << std::endl;
404  Plan::print();
405  std::cout << "Outer Plan: ";
406  get_outerplan()->print();
407  std::cout << "Inner Plan: ";
408  get_innerplan()->print();
409  std::cout << ")" << std::endl;
410 }
const Plan * get_outerplan() const
Definition: Planner.h:161
const Plan * get_innerplan() const
Definition: Planner.h:162
virtual void print() const
Definition: Planner.cpp:356

+ Here is the call graph for this function:

Member Data Documentation

std::unique_ptr<Plan> Planner::Join::child_plan2
private

Definition at line 165 of file Planner.h.

Referenced by get_innerplan().


The documentation for this class was generated from the following files: