iceberg-cpp
Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | List of all members
iceberg::BoundReference Class Reference

A reference to a bound field. More...

#include <term.h>

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

Public Member Functions

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

Static Public Member Functions

static Result< std::unique_ptr< BoundReference > > Make (SchemaField field, std::unique_ptr< StructLikeAccessor > accessor)
 Create a bound reference.
 

Additional Inherited Members

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

Detailed Description

A reference to a bound field.

Member Function Documentation

◆ Equals()

bool iceberg::BoundReference::Equals ( const BoundTerm other) const
overridevirtual

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

Implements iceberg::BoundTerm.

◆ Evaluate()

Result< Literal > iceberg::BoundReference::Evaluate ( const StructLike data) const
overridevirtual

Evaluate this expression against a row-based data.

Implements iceberg::Bound.

◆ kind()

Kind iceberg::BoundReference::kind ( ) const
inlineoverridevirtual

Returns the kind of this term.

Implements iceberg::Term.

◆ Make()

Result< std::unique_ptr< BoundReference > > iceberg::BoundReference::Make ( SchemaField  field,
std::unique_ptr< StructLikeAccessor accessor 
)
static

Create a bound reference.

Parameters
fieldThe schema field

◆ MayProduceNull()

bool iceberg::BoundReference::MayProduceNull ( ) const
inlineoverridevirtual

Returns whether this term may produce null values.

Implements iceberg::BoundTerm.

◆ name()

std::string_view iceberg::BoundReference::name ( ) const
inlineoverridevirtual

Returns the name of the referenced field.

Implements iceberg::Reference.

◆ reference()

std::shared_ptr< BoundReference > iceberg::BoundReference::reference ( )
inlineoverridevirtual

Returns the underlying bound reference for this term.

Implements iceberg::Bound.

◆ ToString()

std::string iceberg::BoundReference::ToString ( ) const
overridevirtual

Get a user-readable string representation.

Implements iceberg::util::Formattable.

◆ type()

std::shared_ptr< Type > iceberg::BoundReference::type ( ) const
inlineoverridevirtual

Returns the type produced by this term.

Implements iceberg::BoundTerm.


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