iceberg-cpp
Loading...
Searching...
No Matches
Public Member Functions | List of all members
iceberg::Unbound< B > Class Template Referenceabstract

Interface for unbound expressions that need schema binding. More...

#include <expression.h>

Inheritance diagram for iceberg::Unbound< B >:
iceberg::UnboundTerm< BoundReference > iceberg::UnboundTerm< class BoundTransform > iceberg::UnboundTerm< B > iceberg::NamedReference iceberg::UnboundTransform

Public Member Functions

virtual Result< std::shared_ptr< B > > Bind (const Schema &schema, bool case_sensitive) const =0
 Bind this expression to a concrete schema.
 
Result< std::shared_ptr< B > > Bind (const Schema &schema) const
 Overloaded Bind method that uses case-sensitive matching by default.
 
virtual std::shared_ptr< class NamedReferencereference ()=0
 Returns the underlying named reference for this unbound term.
 

Detailed Description

template<typename B>
class iceberg::Unbound< B >

Interface for unbound expressions that need schema binding.

Unbound expressions contain string-based references that must be resolved against a concrete schema to produce bound expressions that can be evaluated.

Template Parameters
BThe bound type this term produces when binding is successful

Member Function Documentation

◆ Bind()

template<typename B >
virtual Result< std::shared_ptr< B > > iceberg::Unbound< B >::Bind ( const Schema schema,
bool  case_sensitive 
) const
pure virtual

Bind this expression to a concrete schema.

Parameters
schemaThe schema to bind against
case_sensitiveWhether field name matching should be case sensitive
Returns
A bound expression or an error if binding fails

Implemented in iceberg::UnboundAggregateImpl< B >, iceberg::UnboundPredicateImpl< B >, iceberg::NamedReference, iceberg::UnboundTransform, and iceberg::UnboundPredicate.

◆ reference()

template<typename B >
virtual std::shared_ptr< class NamedReference > iceberg::Unbound< B >::reference ( )
pure virtual

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