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

A bound transform expression. More...

#include <term.h>

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

Public Member Functions

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.
 
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.
 
const std::shared_ptr< Transform > & transform () const
 
Kind kind () const override
 Returns the kind of this term.
 
- 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< BoundTransform > > Make (std::shared_ptr< BoundReference > ref, std::shared_ptr< Transform > transform, std::shared_ptr< TransformFunction > transform_func)
 Create a bound transform.
 

Additional Inherited Members

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

Detailed Description

A bound transform expression.

Member Function Documentation

◆ Equals()

bool iceberg::BoundTransform::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::BoundTransform::Evaluate ( const StructLike data) const
overridevirtual

Evaluate this expression against a row-based data.

Implements iceberg::Bound.

◆ kind()

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

Returns the kind of this term.

Implements iceberg::Term.

◆ Make()

Result< std::unique_ptr< BoundTransform > > iceberg::BoundTransform::Make ( std::shared_ptr< BoundReference ref,
std::shared_ptr< Transform transform,
std::shared_ptr< TransformFunction transform_func 
)
static

Create a bound transform.

Parameters
refThe bound term to apply the transformation to
transformThe transform to apply
transform_funcThe bound transform function to apply

◆ MayProduceNull()

bool iceberg::BoundTransform::MayProduceNull ( ) const
overridevirtual

Returns whether this term may produce null values.

Implements iceberg::BoundTerm.

◆ reference()

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

Returns the underlying bound reference for this term.

Implements iceberg::Bound.

◆ ToString()

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

Get a user-readable string representation.

Implements iceberg::util::Formattable.

◆ type()

std::shared_ptr< Type > iceberg::BoundTransform::type ( ) const
overridevirtual

Returns the type produced by this term.

Implements iceberg::BoundTerm.


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