|
iceberg-cpp
|
#include <array>#include <cstdint>#include <memory>#include <optional>#include <span>#include <string>#include <unordered_map>#include <vector>#include "iceberg/iceberg_export.h"#include "iceberg/result.h"#include "iceberg/schema_field.h"#include "iceberg/util/formattable.h"#include "iceberg/util/lazy.h"Go to the source code of this file.
Classes | |
| class | iceberg::Type |
| Interface for a data type for a field. More... | |
| class | iceberg::PrimitiveType |
| A data type that does not have child fields. More... | |
| class | iceberg::NestedType |
| A data type that has child fields. More... | |
| class | iceberg::StructType |
| A data type representing a struct with nested fields. More... | |
| class | iceberg::ListType |
| A data type representing a list of values. More... | |
| class | iceberg::MapType |
| A data type representing a dictionary of values. More... | |
| class | iceberg::BooleanType |
| A data type representing a boolean (true or false). More... | |
| class | iceberg::IntType |
| A data type representing a 32-bit signed integer. More... | |
| class | iceberg::LongType |
| A data type representing a 64-bit signed integer. More... | |
| class | iceberg::FloatType |
| A data type representing a 32-bit (single precision) IEEE-754 float. More... | |
| class | iceberg::DoubleType |
| A data type representing a 64-bit (double precision) IEEE-754 float. More... | |
| class | iceberg::DecimalType |
| A data type representing a fixed-precision decimal. More... | |
| class | iceberg::DateType |
| A data type representing a calendar date without reference to a timezone or time. More... | |
| class | iceberg::TimeType |
| A data type representing a wall clock time in microseconds without reference to a timezone or date. More... | |
| class | iceberg::TimestampBase |
| A base class for any timestamp time (irrespective of unit or timezone). More... | |
| class | iceberg::TimestampType |
| A data type representing a timestamp in microseconds without reference to a timezone. More... | |
| class | iceberg::TimestampTzType |
| A data type representing a timestamp as microseconds since the epoch in UTC. A time zone or offset is not stored. More... | |
| class | iceberg::BinaryType |
| A data type representing an arbitrary-length byte sequence. More... | |
| class | iceberg::StringType |
| A data type representing an arbitrary-length character sequence (encoded in UTF-8). More... | |
| class | iceberg::FixedType |
| A data type representing a fixed-length bytestring. More... | |
| class | iceberg::UuidType |
| A data type representing a UUID. While defined as a distinct type, it is effectively a fixed(16). More... | |
Functions | |
| ICEBERG_EXPORT const std::shared_ptr< BooleanType > & | iceberg::boolean () |
| Return a BooleanType instance. | |
| ICEBERG_EXPORT const std::shared_ptr< IntType > & | iceberg::int32 () |
| Return an IntType instance. | |
| ICEBERG_EXPORT const std::shared_ptr< LongType > & | iceberg::int64 () |
| Return a LongType instance. | |
| ICEBERG_EXPORT const std::shared_ptr< FloatType > & | iceberg::float32 () |
| Return a FloatType instance. | |
| ICEBERG_EXPORT const std::shared_ptr< DoubleType > & | iceberg::float64 () |
| Return a DoubleType instance. | |
| ICEBERG_EXPORT const std::shared_ptr< DateType > & | iceberg::date () |
| Return a DateType instance. | |
| ICEBERG_EXPORT const std::shared_ptr< TimeType > & | iceberg::time () |
| Return a TimeType instance. | |
| ICEBERG_EXPORT const std::shared_ptr< TimestampType > & | iceberg::timestamp () |
| Return a TimestampType instance. | |
| ICEBERG_EXPORT const std::shared_ptr< TimestampTzType > & | iceberg::timestamp_tz () |
| Return a TimestampTzType instance. | |
| ICEBERG_EXPORT const std::shared_ptr< BinaryType > & | iceberg::binary () |
| Return a BinaryType instance. | |
| ICEBERG_EXPORT const std::shared_ptr< StringType > & | iceberg::string () |
| Return a StringType instance. | |
| ICEBERG_EXPORT const std::shared_ptr< UuidType > & | iceberg::uuid () |
| Return a UuidType instance. | |
| std::shared_ptr< DecimalType > | iceberg::decimal (int32_t precision, int32_t scale) |
| Create a DecimalType with the given precision and scale. | |
| std::shared_ptr< FixedType > | iceberg::fixed (int32_t length) |
| Create a FixedType with the given length. | |
| std::shared_ptr< StructType > | iceberg::struct_ (std::vector< SchemaField > fields) |
| Create a StructType with the given fields. | |
| std::shared_ptr< ListType > | iceberg::list (SchemaField element) |
| Create a ListType with the given element field. | |
| std::shared_ptr< MapType > | iceberg::map (SchemaField key, SchemaField value) |
| Create a MapType with the given key and value fields. | |
| std::string_view | iceberg::ToString (TypeId id) |
| Get the lowercase string representation of a TypeId. | |
Data types for Iceberg. This header defines the data types, but see iceberg/type_fwd.h for the enum defining the list of types.
| ICEBERG_EXPORT std::string_view iceberg::ToString | ( | TypeId | id | ) |
Get the lowercase string representation of a TypeId.
This returns the same lowercase string as used by Type::ToString() methods. For example: TypeId::kBoolean -> "boolean", TypeId::kInt -> "int", etc.
| id | The TypeId to convert to string |