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

Public Member Functions

 ProjectionVisitor (const PartitionSpec &spec, 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< UnboundPredicate > &pred) override
 Visit an unbound predicate.
 
Result< std::shared_ptr< Expression > > Predicate (const std::shared_ptr< BoundPredicate > &pred) override
 Visit a bound predicate.
 
- 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.
 
virtual Result< std::shared_ptr< Expression > > Aggregate (const std::shared_ptr< BoundAggregate > &aggregate)
 Visit a bound aggregate.
 
virtual Result< std::shared_ptr< Expression > > Aggregate (const std::shared_ptr< UnboundAggregate > &aggregate)
 Visit an unbound aggregate.
 

Protected Attributes

const PartitionSpecspec_
 
const Schemaschema_
 
bool case_sensitive_
 

Member Function Documentation

◆ AlwaysFalse()

Result< std::shared_ptr< Expression > > iceberg::ProjectionVisitor::AlwaysFalse ( )
inlineoverridevirtual

Visit a False expression (always evaluates to false).

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

◆ AlwaysTrue()

Result< std::shared_ptr< Expression > > iceberg::ProjectionVisitor::AlwaysTrue ( )
inlineoverridevirtual

Visit a True expression (always evaluates to true).

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

◆ Predicate() [1/2]

Result< std::shared_ptr< Expression > > iceberg::ProjectionVisitor::Predicate ( const std::shared_ptr< BoundPredicate > &  pred)
inlineoverridevirtual

Visit a bound predicate.

Parameters
predThe bound predicate to visit

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

Reimplemented in iceberg::StrictProjectionVisitor.

◆ Predicate() [2/2]

Result< std::shared_ptr< Expression > > iceberg::ProjectionVisitor::Predicate ( const std::shared_ptr< UnboundPredicate > &  pred)
inlineoverridevirtual

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 file: