Kùzu C++ API
Loading...
Searching...
No Matches
kuzu::binder::Expression Class Referenceabstract

#include <expression.h>

Inheritance diagram for kuzu::binder::Expression:

Public Member Functions

 Expression (common::ExpressionType expressionType, common::LogicalType dataType, expression_vector children, std::string uniqueName)
 
 Expression (common::ExpressionType expressionType, common::LogicalType dataType, const std::shared_ptr< Expression > &left, const std::shared_ptr< Expression > &right, std::string uniqueName)
 
 Expression (common::ExpressionType expressionType, common::LogicalType dataType, const std::shared_ptr< Expression > &child, std::string uniqueName)
 
 Expression (common::ExpressionType expressionType, common::LogicalType dataType, std::string uniqueName)
 
 DELETE_COPY_DEFAULT_MOVE (Expression)
 
virtual ~Expression ()=default
 
void setUniqueName (const std::string &name)
 
std::string getUniqueName () const
 
virtual void cast (const common::LogicalType &type)
 
const common::LogicalTypegetDataType () const
 
void setAlias (const std::string &newAlias)
 
bool hasAlias () const
 
std::string getAlias () const
 
common::idx_t getNumChildren () const
 
std::shared_ptr< ExpressiongetChild (common::idx_t idx) const
 
expression_vector getChildren () const
 
void setChild (common::idx_t idx, std::shared_ptr< Expression > child)
 
expression_vector splitOnAND ()
 
bool operator== (const Expression &rhs) const
 
std::string toString () const
 
virtual std::unique_ptr< Expressioncopy () const
 
template<class TARGET >
TARGET & cast ()
 
template<class TARGET >
TARGET * ptrCast ()
 
template<class TARGET >
const TARGET & constCast () const
 
template<class TARGET >
const TARGET * constPtrCast () const
 

Public Attributes

common::ExpressionType expressionType
 
common::LogicalType dataType
 

Protected Member Functions

virtual std::string toStringInternal () const =0
 

Protected Attributes

std::string uniqueName
 
std::string alias
 
expression_vector children
 

Friends

class ExpressionChildrenCollector
 

Constructor & Destructor Documentation

◆ Expression() [1/4]

kuzu::binder::Expression::Expression ( common::ExpressionType expressionType,
common::LogicalType dataType,
expression_vector children,
std::string uniqueName )
inline

◆ Expression() [2/4]

kuzu::binder::Expression::Expression ( common::ExpressionType expressionType,
common::LogicalType dataType,
const std::shared_ptr< Expression > & left,
const std::shared_ptr< Expression > & right,
std::string uniqueName )
inline

◆ Expression() [3/4]

kuzu::binder::Expression::Expression ( common::ExpressionType expressionType,
common::LogicalType dataType,
const std::shared_ptr< Expression > & child,
std::string uniqueName )
inline

◆ Expression() [4/4]

kuzu::binder::Expression::Expression ( common::ExpressionType expressionType,
common::LogicalType dataType,
std::string uniqueName )
inline

◆ ~Expression()

virtual kuzu::binder::Expression::~Expression ( )
virtualdefault

Member Function Documentation

◆ cast() [1/2]

template<class TARGET >
TARGET & kuzu::binder::Expression::cast ( )
inline

◆ cast() [2/2]

virtual void kuzu::binder::Expression::cast ( const common::LogicalType & type)
virtual

◆ constCast()

template<class TARGET >
const TARGET & kuzu::binder::Expression::constCast ( ) const
inline

◆ constPtrCast()

template<class TARGET >
const TARGET * kuzu::binder::Expression::constPtrCast ( ) const
inline

◆ copy()

virtual std::unique_ptr< Expression > kuzu::binder::Expression::copy ( ) const
inlinevirtual

◆ DELETE_COPY_DEFAULT_MOVE()

kuzu::binder::Expression::DELETE_COPY_DEFAULT_MOVE ( Expression )

◆ getAlias()

std::string kuzu::binder::Expression::getAlias ( ) const
inline

◆ getChild()

std::shared_ptr< Expression > kuzu::binder::Expression::getChild ( common::idx_t idx) const
inline

◆ getChildren()

expression_vector kuzu::binder::Expression::getChildren ( ) const
inline

◆ getDataType()

const common::LogicalType & kuzu::binder::Expression::getDataType ( ) const
inline

◆ getNumChildren()

common::idx_t kuzu::binder::Expression::getNumChildren ( ) const
inline

◆ getUniqueName()

std::string kuzu::binder::Expression::getUniqueName ( ) const
inline

◆ hasAlias()

bool kuzu::binder::Expression::hasAlias ( ) const
inline

◆ operator==()

bool kuzu::binder::Expression::operator== ( const Expression & rhs) const
inline

◆ ptrCast()

template<class TARGET >
TARGET * kuzu::binder::Expression::ptrCast ( )
inline

◆ setAlias()

void kuzu::binder::Expression::setAlias ( const std::string & newAlias)
inline

◆ setChild()

void kuzu::binder::Expression::setChild ( common::idx_t idx,
std::shared_ptr< Expression > child )
inline

◆ setUniqueName()

void kuzu::binder::Expression::setUniqueName ( const std::string & name)
inline

◆ splitOnAND()

expression_vector kuzu::binder::Expression::splitOnAND ( )

◆ toString()

std::string kuzu::binder::Expression::toString ( ) const
inline

◆ toStringInternal()

virtual std::string kuzu::binder::Expression::toStringInternal ( ) const
protectedpure virtual

Friends And Related Symbol Documentation

◆ ExpressionChildrenCollector

friend class ExpressionChildrenCollector
friend

Member Data Documentation

◆ alias

std::string kuzu::binder::Expression::alias
protected

◆ children

expression_vector kuzu::binder::Expression::children
protected

◆ dataType

common::LogicalType kuzu::binder::Expression::dataType

◆ expressionType

common::ExpressionType kuzu::binder::Expression::expressionType

◆ uniqueName

std::string kuzu::binder::Expression::uniqueName
protected

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