|
iceberg-cpp
|
#include <functional>#include <memory>#include <span>#include <string_view>#include <variant>#include "iceberg/expression/literal.h"#include "iceberg/result.h"#include "iceberg/type_fwd.h"#include "iceberg/util/decimal.h"Go to the source code of this file.
Classes | |
| class | iceberg::StructLike |
| An immutable struct-like wrapper. More... | |
| class | iceberg::ArrayLike |
| An immutable array-like wrapper. More... | |
| class | iceberg::MapLike |
| An immutable map-like wrapper. More... | |
| class | iceberg::StructLikeAccessor |
| An accessor for a struct-like object. More... | |
Typedefs | |
| using | iceberg::Scalar = std::variant< std::monostate, bool, int32_t, int64_t, float, double, std::string_view, Decimal, std::shared_ptr< StructLike >, std::shared_ptr< ArrayLike >, std::shared_ptr< MapLike > > |
| A scalar value depending on its data type. | |
Functions | |
| Result< Scalar > | iceberg::LiteralToScalar (const Literal &literal) |
| Convert a Literal to a Scalar. | |
Structures for viewing data in a row-based format. This header contains the definition of StructLike, ArrayLike, and MapLike which provide an unified interface for viewing data from ArrowArray or structs like ManifestFile and ManifestEntry. Note that they do not carry type information and should be used in conjunction with the schema to get the type information.
| using iceberg::Scalar = typedef std::variant<std::monostate, bool, int32_t, int64_t, float, double, std::string_view, Decimal, std::shared_ptr<StructLike>, std::shared_ptr<ArrayLike>, std::shared_ptr<MapLike> > |
A scalar value depending on its data type.
Note that all string and binary values are stored as non-owned string_view and their lifetime is managed by the wrapped object.