|
iceberg-cpp
|
Interface for a data type for a field. More...
#include <type.h>
Public Member Functions | |
| virtual TypeId | type_id () const =0 |
| Get the type ID. | |
| virtual bool | is_primitive () const =0 |
| Is this a primitive type (may not have child fields)? | |
| virtual bool | is_nested () const =0 |
| Is this a nested type (may have child fields)? | |
| bool | is_struct () const |
| Is this a struct type? | |
| bool | is_list () const |
| Is this a list type? | |
| bool | is_map () const |
| Is this a map type? | |
| bool | is_variant () const |
| Is this a variant type? | |
Public Member Functions inherited from iceberg::util::Formattable | |
| virtual std::string | ToString () const =0 |
| Get a user-readable string representation. | |
Protected Member Functions | |
| virtual bool | Equals (const Type &other) const =0 |
| Compare two types for equality. | |
Friends | |
| bool | operator== (const Type &lhs, const Type &rhs) |
| Compare two types for equality. | |
Interface for a data type for a field.
|
protectedpure virtual |
Compare two types for equality.
Implemented in iceberg::StructType, iceberg::ListType, iceberg::MapType, iceberg::VariantType, iceberg::BooleanType, iceberg::IntType, iceberg::LongType, iceberg::FloatType, iceberg::DoubleType, iceberg::DecimalType, iceberg::DateType, iceberg::TimeType, iceberg::TimestampType, iceberg::TimestampTzType, iceberg::TimestampNsType, iceberg::TimestampTzNsType, iceberg::BinaryType, iceberg::StringType, iceberg::FixedType, iceberg::UuidType, iceberg::UnknownType, iceberg::GeometryType, and iceberg::GeographyType.
|
pure virtual |
Is this a nested type (may have child fields)?
Implemented in iceberg::PrimitiveType, iceberg::NestedType, and iceberg::VariantType.
|
pure virtual |
Is this a primitive type (may not have child fields)?
Implemented in iceberg::PrimitiveType, iceberg::NestedType, and iceberg::VariantType.
|
pure virtual |
Get the type ID.
Implemented in iceberg::StructType, iceberg::ListType, iceberg::MapType, iceberg::VariantType, iceberg::BooleanType, iceberg::IntType, iceberg::LongType, iceberg::FloatType, iceberg::DoubleType, iceberg::DecimalType, iceberg::DateType, iceberg::TimeType, iceberg::TimestampType, iceberg::TimestampTzType, iceberg::TimestampNsType, iceberg::TimestampTzNsType, iceberg::BinaryType, iceberg::StringType, iceberg::FixedType, iceberg::UuidType, iceberg::UnknownType, iceberg::GeometryType, and iceberg::GeographyType.