|
iceberg-cpp
|
Base class for bound terms. More...
#include <term.h>
Public Member Functions | |
| virtual std::shared_ptr< Type > | type () const =0 |
| Returns the type produced by this term. | |
| virtual bool | MayProduceNull () const =0 |
| Returns whether this term may produce null values. | |
| virtual bool | Equals (const BoundTerm &other) const =0 |
| Returns whether this term is equivalent to another. | |
| bool | is_unbound () const override |
| Returns whether this term is unbound. | |
Public Member Functions inherited from iceberg::Bound | |
| virtual Result< Literal > | Evaluate (const StructLike &data) const =0 |
| Evaluate this expression against a row-based data. | |
| virtual std::shared_ptr< class BoundReference > | reference ()=0 |
| Returns the underlying bound reference for this term. | |
Public Member Functions inherited from iceberg::Term | |
| virtual Kind | kind () const =0 |
| Returns the kind of this term. | |
Public Member Functions inherited from iceberg::util::Formattable | |
| virtual std::string | ToString () const =0 |
| Get a user-readable string representation. | |
Friends | |
| bool | operator== (const BoundTerm &lhs, const BoundTerm &rhs) |
Additional Inherited Members | |
Public Types inherited from iceberg::Term | |
| enum class | Kind : uint8_t { kReference , kTransform , kExtract } |
Base class for bound terms.
|
pure virtual |
Returns whether this term is equivalent to another.
Two terms are equivalent if they produce the same values when evaluated.
| other | Another bound term to compare against |
Implemented in iceberg::BoundReference, and iceberg::BoundTransform.
|
inlineoverridevirtual |
Returns whether this term is unbound.
Implements iceberg::Term.
|
pure virtual |
Returns whether this term may produce null values.
Implemented in iceberg::BoundReference, and iceberg::BoundTransform.
|
pure virtual |
Returns the type produced by this term.
Implemented in iceberg::BoundReference, and iceberg::BoundTransform.