28#include "iceberg/iceberg_export.h"
39 : summary_(summary) {}
46 Result<Scalar> GetField(
size_t pos)
const override;
53 std::reference_wrapper<const PartitionFieldSummary> summary_;
60 const std::vector<PartitionFieldSummary>& summaries)
61 : summaries_(summaries) {}
68 Result<Scalar> GetElement(
size_t pos)
const override;
70 size_t size()
const override {
return summaries_.get().size(); }
72 void Reset(
const std::vector<PartitionFieldSummary>& summaries) {
73 summaries_ = std::cref(summaries);
77 std::reference_wrapper<const std::vector<PartitionFieldSummary>> summaries_;
78 mutable std::shared_ptr<PartitionFieldSummaryStructLike> summary_;
90 Result<Scalar> GetField(
size_t pos)
const override;
92 size_t num_fields()
const override;
94 void Reset(
const ManifestFile& file) { manifest_file_ = std::cref(file); }
97 std::reference_wrapper<const ManifestFile> manifest_file_;
98 mutable std::shared_ptr<PartitionFieldSummaryArrayLike> summaries_;
110 Result<Scalar> GetField(
size_t pos)
const override;
112 size_t num_fields()
const override;
114 void Reset(
const DataFile& file) { data_file_ = std::cref(file); }
117 std::reference_wrapper<const DataFile> data_file_;
118 mutable std::shared_ptr<StructLike> partition_;
An immutable array-like wrapper.
Definition struct_like.h:75
StructLike wrapper for DataFile metadata.
Definition manifest_wrapper.h:102
StructLike wrapper for ManifestFile.
Definition manifest_wrapper.h:82
ArrayLike wrapper for a vector of PartitionFieldSummary.
Definition manifest_wrapper.h:57
size_t size() const override
Get the number of elements in the array.
Definition manifest_wrapper.h:70
StructLike wrapper for PartitionFieldSummary.
Definition manifest_wrapper.h:36
size_t num_fields() const override
Get the number of fields in the struct.
Definition manifest_wrapper.h:48
An immutable struct-like wrapper.
Definition struct_like.h:62
DataFile carries data file path, partition tuple, metrics, ...
Definition manifest_entry.h:62
Entry in a manifest list.
Definition manifest_list.h:85
Field summary for partition field in the spec.
Definition manifest_list.h:43