iceberg-cpp
Loading...
Searching...
No Matches
Public Member Functions | Friends | List of all members
iceberg::BoundTerm Class Referenceabstract

Base class for bound terms. More...

#include <term.h>

Inheritance diagram for iceberg::BoundTerm:
iceberg::Bound iceberg::Term iceberg::util::Formattable iceberg::BoundReference iceberg::BoundTransform

Public Member Functions

virtual std::shared_ptr< Typetype () const =0
 Returns the type produced by this term.
 
virtual bool MayProduceNull () const =0
 Returns whether this term may produce null values.
 
virtual bool Equals (const BoundTerm &other) const =0
 Returns whether this term is equivalent to another.
 
bool is_unbound () const override
 Returns whether this term is unbound.
 
- Public Member Functions inherited from iceberg::Bound
virtual Result< LiteralEvaluate (const StructLike &data) const =0
 Evaluate this expression against a row-based data.
 
virtual std::shared_ptr< class BoundReferencereference ()=0
 Returns the underlying bound reference for this term.
 
- Public Member Functions inherited from iceberg::Term
virtual Kind kind () const =0
 Returns the kind of this term.
 
- Public Member Functions inherited from iceberg::util::Formattable
virtual std::string ToString () const =0
 Get a user-readable string representation.
 

Friends

bool operator== (const BoundTerm &lhs, const BoundTerm &rhs)
 

Additional Inherited Members

- Public Types inherited from iceberg::Term
enum class  Kind : uint8_t { kReference , kTransform , kExtract }
 

Detailed Description

Base class for bound terms.

Member Function Documentation

◆ Equals()

virtual bool iceberg::BoundTerm::Equals ( const BoundTerm other) const
pure virtual

Returns whether this term is equivalent to another.

Two terms are equivalent if they produce the same values when evaluated.

Parameters
otherAnother bound term to compare against
Returns
true if the terms are equivalent, false otherwise

Implemented in iceberg::BoundReference, and iceberg::BoundTransform.

◆ is_unbound()

bool iceberg::BoundTerm::is_unbound ( ) const
inlineoverridevirtual

Returns whether this term is unbound.

Implements iceberg::Term.

◆ MayProduceNull()

virtual bool iceberg::BoundTerm::MayProduceNull ( ) const
pure virtual

Returns whether this term may produce null values.

Implemented in iceberg::BoundReference, and iceberg::BoundTransform.

◆ type()

virtual std::shared_ptr< Type > iceberg::BoundTerm::type ( ) const
pure virtual

Returns the type produced by this term.

Implemented in iceberg::BoundReference, and iceberg::BoundTransform.


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