iceberg-cpp
Loading...
Searching...
No Matches
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
iceberg::Predicate< T > Class Template Reference

A predicate is a boolean expression that tests a term against some criteria. More...

#include <predicate.h>

Inheritance diagram for iceberg::Predicate< T >:
iceberg::Expression iceberg::util::Formattable

Public Member Functions

Expression::Operation op () const override
 Returns the operation for an expression node.
 
const std::shared_ptr< T > & term () const
 Returns the term this predicate tests.
 
- Public Member Functions inherited from iceberg::Expression
virtual Result< std::shared_ptr< Expression > > Negate () const
 Returns the negation of this expression, equivalent to not(this).
 
virtual bool Equals (const Expression &other) const
 Returns whether this expression will accept the same values as another.
 
std::string ToString () const override
 Get a user-readable string representation.
 
virtual bool is_unbound_predicate () const
 
virtual bool is_bound_predicate () const
 
virtual bool is_unbound_aggregate () const
 
virtual bool is_bound_aggregate () const
 

Protected Member Functions

 Predicate (Expression::Operation op, std::shared_ptr< T > term)
 Create a predicate with an operation and term.
 

Protected Attributes

Expression::Operation operation_
 
std::shared_ptr< T > term_
 

Additional Inherited Members

- Public Types inherited from iceberg::Expression
enum class  Operation {
  kTrue , kFalse , kIsNull , kNotNull ,
  kIsNan , kNotNan , kLt , kLtEq ,
  kGt , kGtEq , kEq , kNotEq ,
  kIn , kNotIn , kNot , kAnd ,
  kOr , kStartsWith , kNotStartsWith , kCount ,
  kCountNull , kCountStar , kMax , kMin
}
 Operation types for expressions.
 

Detailed Description

template<TermType T>
class iceberg::Predicate< T >

A predicate is a boolean expression that tests a term against some criteria.

Template Parameters
TermTypeThe type of the term being tested

Constructor & Destructor Documentation

◆ Predicate()

template<TermType T>
iceberg::Predicate< T >::Predicate ( Expression::Operation  op,
std::shared_ptr< T >  term 
)
protected

Create a predicate with an operation and term.

Parameters
opThe operation this predicate performs
termThe term this predicate tests

Member Function Documentation

◆ op()

template<TermType T>
Expression::Operation iceberg::Predicate< T >::op ( ) const
inlineoverridevirtual

Returns the operation for an expression node.

Implements iceberg::Expression.


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