iceberg-cpp
Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | List of all members
iceberg::Binder Class Reference
Inheritance diagram for iceberg::Binder:
iceberg::ExpressionVisitor< std::shared_ptr< Expression > >

Public Member Functions

 Binder (const Schema &schema, bool case_sensitive)
 
Result< std::shared_ptr< Expression > > AlwaysTrue () override
 Visit a True expression (always evaluates to true).
 
Result< std::shared_ptr< Expression > > AlwaysFalse () override
 Visit a False expression (always evaluates to false).
 
Result< std::shared_ptr< Expression > > Not (const std::shared_ptr< Expression > &child_result) override
 
Result< std::shared_ptr< Expression > > And (const std::shared_ptr< Expression > &left_result, const std::shared_ptr< Expression > &right_result) override
 
Result< std::shared_ptr< Expression > > Or (const std::shared_ptr< Expression > &left_result, const std::shared_ptr< Expression > &right_result) override
 
Result< std::shared_ptr< Expression > > Predicate (const std::shared_ptr< BoundPredicate > &pred) override
 Visit a bound predicate.
 
Result< std::shared_ptr< Expression > > Predicate (const std::shared_ptr< UnboundPredicate > &pred) override
 Visit an unbound predicate.
 
Result< std::shared_ptr< Expression > > Aggregate (const std::shared_ptr< BoundAggregate > &aggregate) override
 Visit a bound aggregate.
 
Result< std::shared_ptr< Expression > > Aggregate (const std::shared_ptr< UnboundAggregate > &aggregate) override
 Visit an unbound aggregate.
 
- Public Member Functions inherited from iceberg::ExpressionVisitor< std::shared_ptr< Expression > >
virtual Result< std::shared_ptr< Expression > > Not (ParamType child_result)=0
 Visit a Not expression.
 
virtual Result< std::shared_ptr< Expression > > And (ParamType left_result, ParamType right_result)=0
 Visit an And expression.
 
virtual Result< std::shared_ptr< Expression > > Or (ParamType left_result, ParamType right_result)=0
 Visit an Or expression.
 

Static Public Member Functions

static Result< std::shared_ptr< Expression > > Bind (const Schema &schema, const std::shared_ptr< Expression > &expr, bool case_sensitive)
 

Member Function Documentation

◆ Aggregate() [1/2]

Result< std::shared_ptr< Expression > > iceberg::Binder::Aggregate ( const std::shared_ptr< BoundAggregate > &  aggregate)
overridevirtual

Visit a bound aggregate.

Parameters
aggregateThe bound aggregate to visit.

Reimplemented from iceberg::ExpressionVisitor< std::shared_ptr< Expression > >.

◆ Aggregate() [2/2]

Result< std::shared_ptr< Expression > > iceberg::Binder::Aggregate ( const std::shared_ptr< UnboundAggregate > &  aggregate)
overridevirtual

Visit an unbound aggregate.

Parameters
aggregateThe unbound aggregate to visit.

Reimplemented from iceberg::ExpressionVisitor< std::shared_ptr< Expression > >.

◆ AlwaysFalse()

Result< std::shared_ptr< Expression > > iceberg::Binder::AlwaysFalse ( )
overridevirtual

Visit a False expression (always evaluates to false).

Implements iceberg::ExpressionVisitor< std::shared_ptr< Expression > >.

◆ AlwaysTrue()

Result< std::shared_ptr< Expression > > iceberg::Binder::AlwaysTrue ( )
overridevirtual

Visit a True expression (always evaluates to true).

Implements iceberg::ExpressionVisitor< std::shared_ptr< Expression > >.

◆ Predicate() [1/2]

Result< std::shared_ptr< Expression > > iceberg::Binder::Predicate ( const std::shared_ptr< BoundPredicate > &  pred)
overridevirtual

Visit a bound predicate.

Parameters
predThe bound predicate to visit

Implements iceberg::ExpressionVisitor< std::shared_ptr< Expression > >.

◆ Predicate() [2/2]

Result< std::shared_ptr< Expression > > iceberg::Binder::Predicate ( const std::shared_ptr< UnboundPredicate > &  pred)
overridevirtual

Visit an unbound predicate.

Parameters
predThe unbound predicate to visit

Implements iceberg::ExpressionVisitor< std::shared_ptr< Expression > >.


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