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

A reference to an unbound named field. More...

#include <term.h>

Inheritance diagram for iceberg::NamedReference:
iceberg::Reference iceberg::UnboundTerm< BoundReference > iceberg::Unbound< B > iceberg::Term iceberg::util::Formattable

Public Member Functions

std::string_view name () const override
 Returns the name of the referenced field.
 
Result< std::shared_ptr< BoundReference > > Bind (const Schema &schema, bool case_sensitive) const override
 Bind this expression to a concrete schema.
 
std::shared_ptr< NamedReferencereference () override
 Returns the underlying named reference for this unbound term.
 
std::string ToString () const override
 Get a user-readable string representation.
 
Kind kind () const override
 Returns the kind of this term.
 
- Public Member Functions inherited from iceberg::UnboundTerm< BoundReference >
bool is_unbound () const override
 Returns whether this term is unbound.
 
- Public Member Functions inherited from iceberg::Unbound< B >
Result< std::shared_ptr< B > > Bind (const Schema &schema) const
 Overloaded Bind method that uses case-sensitive matching by default.
 

Static Public Member Functions

static Result< std::unique_ptr< NamedReference > > Make (std::string field_name)
 Create a named reference to a field.
 

Additional Inherited Members

- Public Types inherited from iceberg::UnboundTerm< BoundReference >
using BoundType = BoundReference
 
- Public Types inherited from iceberg::Term
enum class  Kind : uint8_t { kReference , kTransform , kExtract }
 

Detailed Description

A reference to an unbound named field.

Member Function Documentation

◆ Bind()

Result< std::shared_ptr< BoundReference > > iceberg::NamedReference::Bind ( const Schema schema,
bool  case_sensitive 
) const
overridevirtual

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

Implements iceberg::Unbound< B >.

◆ kind()

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

Returns the kind of this term.

Implements iceberg::Term.

◆ Make()

Result< std::unique_ptr< NamedReference > > iceberg::NamedReference::Make ( std::string  field_name)
static

Create a named reference to a field.

Parameters
field_nameThe name of the field to reference

◆ name()

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

Returns the name of the referenced field.

Implements iceberg::Reference.

◆ reference()

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

Returns the underlying named reference for this unbound term.

Implements iceberg::Unbound< B >.

◆ ToString()

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

Get a user-readable string representation.

Implements iceberg::util::Formattable.


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