OmniSciDB  b24e664e58
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
RexInput Class Reference

#include <RelAlgAbstractInterpreter.h>

+ Inheritance diagram for RexInput:
+ Collaboration diagram for RexInput:

Public Member Functions

 RexInput (const RelAlgNode *node, const unsigned in_index)
 
const RelAlgNodegetSourceNode () const
 
void setSourceNode (const RelAlgNode *node) const
 
bool operator== (const RexInput &that) const
 
std::string toString () const override
 
std::unique_ptr< RexInputdeepCopy () const
 
- Public Member Functions inherited from RexAbstractInput
 RexAbstractInput (const unsigned in_index)
 
unsigned getIndex () const
 
void setIndex (const unsigned in_index) const
 
- Public Member Functions inherited from Rex
virtual ~Rex ()
 

Private Attributes

const RelAlgNodenode_
 

Detailed Description

Definition at line 309 of file RelAlgAbstractInterpreter.h.

Constructor & Destructor Documentation

RexInput::RexInput ( const RelAlgNode node,
const unsigned  in_index 
)
inline

Definition at line 311 of file RelAlgAbstractInterpreter.h.

312  : RexAbstractInput(in_index), node_(node) {}
RexAbstractInput(const unsigned in_index)
const RelAlgNode * node_

Member Function Documentation

std::unique_ptr<RexInput> RexInput::deepCopy ( ) const
inline

Definition at line 330 of file RelAlgAbstractInterpreter.h.

References RexAbstractInput::getIndex(), and node_.

Referenced by anonymous_namespace{RelAlgOptimizer.cpp}::RexProjectInputRedirector::visitInput(), RexDeepCopyVisitor::visitInput(), RexInputRenumber< bAllowMissing >::visitInput(), and anonymous_namespace{RelAlgOptimizer.cpp}::RexInputRenumberVisitor::visitInput().

330  {
331  return std::make_unique<RexInput>(node_, getIndex());
332  }
unsigned getIndex() const
const RelAlgNode * node_

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

bool RexInput::operator== ( const RexInput that) const
inline

Definition at line 321 of file RelAlgAbstractInterpreter.h.

References RexAbstractInput::getIndex(), and getSourceNode().

321  {
322  return getSourceNode() == that.getSourceNode() && getIndex() == that.getIndex();
323  }
unsigned getIndex() const
const RelAlgNode * getSourceNode() const

+ Here is the call graph for this function:

void RexInput::setSourceNode ( const RelAlgNode node) const
inline

Definition at line 319 of file RelAlgAbstractInterpreter.h.

References node_.

Referenced by anonymous_namespace{RelAlgOptimizer.cpp}::RexRebindInputsVisitor::visitInput(), anonymous_namespace{RelAlgAbstractInterpreter.cpp}::RexRebindInputsVisitor::visitInput(), and anonymous_namespace{RelLeftDeepInnerJoin.cpp}::RebindRexInputsFromLeftDeepJoin::visitInput().

319 { node_ = node; }
const RelAlgNode * node_

+ Here is the caller graph for this function:

std::string RexInput::toString ( ) const
inlineoverridevirtual

Reimplemented from RexAbstractInput.

Definition at line 325 of file RelAlgAbstractInterpreter.h.

References RexAbstractInput::getIndex(), node_, and to_string().

325  {
326  return "(RexInput " + std::to_string(getIndex()) + " " +
327  std::to_string(reinterpret_cast<const uint64_t>(node_)) + ")";
328  }
std::string to_string(char const *&&v)
unsigned getIndex() const
const RelAlgNode * node_

+ Here is the call graph for this function:

Member Data Documentation

const RelAlgNode* RexInput::node_
mutableprivate

Definition at line 335 of file RelAlgAbstractInterpreter.h.

Referenced by deepCopy(), getSourceNode(), setSourceNode(), and toString().


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