|
iceberg-cpp
|
An Expression that represents a logical OR operation between two expressions. More...
#include <expression.h>
Public Member Functions | |
| const std::shared_ptr< Expression > & | left () const |
| Returns the left operand of the OR expression. | |
| const std::shared_ptr< Expression > & | right () const |
| Returns the right operand of the OR expression. | |
| Operation | op () const override |
| Returns the operation for an expression node. | |
| std::string | ToString () const override |
| Get a user-readable string representation. | |
| Result< std::shared_ptr< Expression > > | Negate () const override |
| Returns the negation of this expression, equivalent to not(this). | |
| bool | Equals (const Expression &other) const override |
| Returns whether this expression will accept the same values as another. | |
Public Member Functions inherited from iceberg::Expression | |
| virtual bool | is_unbound_predicate () const |
| virtual bool | is_bound_predicate () const |
| virtual bool | is_unbound_aggregate () const |
| virtual bool | is_bound_aggregate () const |
Static Public Member Functions | |
| static Result< std::unique_ptr< Or > > | Make (std::shared_ptr< Expression > left, std::shared_ptr< Expression > right) |
| Creates an Or expression from two sub-expressions. | |
| template<typename... Args> requires std::conjunction_v<std::is_same<Args, std::shared_ptr<Expression>>...> | |
| static Result< std::shared_ptr< Expression > > | MakeFolded (std::shared_ptr< Expression > left, std::shared_ptr< Expression > right, Args &&... args) |
| Creates a folded Or expression from two sub-expressions. | |
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. | |
An Expression that represents a logical OR operation between two expressions.
This expression evaluates to true if at least one of its child expressions evaluates to true.
|
overridevirtual |
Returns whether this expression will accept the same values as another.
| other | another expression |
Reimplemented from iceberg::Expression.
|
inline |
Returns the left operand of the OR expression.
|
static |
Creates an Or expression from two sub-expressions.
| left | The left operand of the OR expression |
| right | The right operand of the OR expression |
|
inlinestatic |
Creates a folded Or expression from two sub-expressions.
| left | The left operand of the OR expression |
| right | The right operand of the OR expression |
| args | Additional operands of the OR expression |
|
overridevirtual |
Returns the negation of this expression, equivalent to not(this).
Reimplemented from iceberg::Expression.
|
inlineoverridevirtual |
Returns the operation for an expression node.
Implements iceberg::Expression.
|
inline |
Returns the right operand of the OR expression.
|
overridevirtual |
Get a user-readable string representation.
Reimplemented from iceberg::Expression.