39 explicit PartitionValues(std::vector<Literal> values) : values_(std::move(values)) {}
52 size_t num_fields()
const override {
return values_.size(); }
65 void Reset(std::vector<Literal> values) { values_ = std::move(values); }
67 std::span<const Literal> values()
const {
return values_; }
69 bool operator==(
const PartitionValues& other)
const;
72 std::vector<Literal> values_;
Literal is a literal value that is associated with a primitive type.
Definition literal.h:42
StructLike wrapper for a vector of literals that represent partition values.
Definition partition_values.h:36
Result< Scalar > GetField(size_t pos) const override
Get the field value at the given position.
Result< std::reference_wrapper< const Literal > > ValueAt(size_t pos) const
Get the partition field value at the given position.
void Reset(std::vector< Literal > values)
Reset the partition values.
Definition partition_values.h:65
size_t num_fields() const override
Get the number of fields in the struct.
Definition partition_values.h:52
void AddValue(Literal value)
Add a value to the partition values.
Definition partition_values.h:61
An immutable struct-like wrapper.
Definition struct_like.h:62
Define symbol visibility macros for core Iceberg APIs.
Define typed literal values used by expressions.
Core Apache Iceberg C++ APIs.
Definition arrow_io_util.h:33
std::expected< T, E > Result
Result alias.
Definition result.h:88