OmniSciDB  c1a53651b2
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
RexAbstractInput Class Reference

#include <RelAlgDag.h>

+ Inheritance diagram for RexAbstractInput:
+ Collaboration diagram for RexAbstractInput:

Public Member Functions

 RexAbstractInput ()
 
 RexAbstractInput (const unsigned in_index)
 
unsigned getIndex () const
 
void setIndex (const unsigned in_index) const
 
std::string toString (RelRexToStringConfig config=RelRexToStringConfig::defaults()) const override
 
size_t toHash () const override
 
- Public Member Functions inherited from Rex
virtual ~Rex ()
 

Private Attributes

unsigned in_index_
 

Friends

struct RelAlgDagSerializer
 

Additional Inherited Members

- Protected Attributes inherited from Rex
std::optional< size_t > hash_
 

Detailed Description

Definition at line 70 of file RelAlgDag.h.

Constructor & Destructor Documentation

RexAbstractInput::RexAbstractInput ( )
inline

Definition at line 73 of file RelAlgDag.h.

Referenced by toHash().

73 : in_index_{0} {};
unsigned in_index_
Definition: RelAlgDag.h:95

+ Here is the caller graph for this function:

RexAbstractInput::RexAbstractInput ( const unsigned  in_index)
inline

Definition at line 75 of file RelAlgDag.h.

75 : in_index_(in_index) {}
unsigned in_index_
Definition: RelAlgDag.h:95

Member Function Documentation

void RexAbstractInput::setIndex ( const unsigned  in_index) const
inline

Definition at line 79 of file RelAlgDag.h.

References in_index_.

Referenced by anonymous_namespace{RelAlgDag.cpp}::RexRebindReindexInputsVisitor::visitInput(), and anonymous_namespace{RelLeftDeepInnerJoin.cpp}::RebindRexInputsFromLeftDeepJoin::visitInput().

79 { in_index_ = in_index; }
unsigned in_index_
Definition: RelAlgDag.h:95

+ Here is the caller graph for this function:

size_t RexAbstractInput::toHash ( ) const
inlineoverridevirtual

Implements Rex.

Reimplemented in RexInput.

Definition at line 86 of file RelAlgDag.h.

References Rex::hash_, in_index_, and RexAbstractInput().

86  {
87  if (!hash_) {
88  hash_ = typeid(RexAbstractInput).hash_code();
89  boost::hash_combine(*hash_, in_index_);
90  }
91  return *hash_;
92  }
unsigned in_index_
Definition: RelAlgDag.h:95
std::optional< size_t > hash_
Definition: RelAlgDag.h:62

+ Here is the call graph for this function:

std::string RexAbstractInput::toString ( RelRexToStringConfig  config = RelRexToStringConfig::defaults()) const
inlineoverridevirtual

Implements Rex.

Reimplemented in RexInput.

Definition at line 81 of file RelAlgDag.h.

References cat(), in_index_, to_string(), and typeName().

82  {
83  return cat(::typeName(this), "(", std::to_string(in_index_), ")");
84  }
unsigned in_index_
Definition: RelAlgDag.h:95
std::string cat(Ts &&...args)
std::string to_string(char const *&&v)
std::string typeName(const T *v)
Definition: toString.h:103

+ Here is the call graph for this function:

Friends And Related Function Documentation

friend struct RelAlgDagSerializer
friend

Definition at line 97 of file RelAlgDag.h.

Member Data Documentation

unsigned RexAbstractInput::in_index_
mutableprivate

Definition at line 95 of file RelAlgDag.h.

Referenced by getIndex(), setIndex(), toHash(), and toString().


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