28#include "iceberg/iceberg_export.h"
38 : summary_(summary) {}
45 Result<Scalar> GetField(
size_t pos)
const override;
52 std::reference_wrapper<const PartitionFieldSummary> summary_;
59 const std::vector<PartitionFieldSummary>& summaries)
60 : summaries_(summaries) {}
67 Result<Scalar> GetElement(
size_t pos)
const override;
69 size_t size()
const override {
return summaries_.get().size(); }
71 void Reset(
const std::vector<PartitionFieldSummary>& summaries) {
72 summaries_ = std::cref(summaries);
76 std::reference_wrapper<const std::vector<PartitionFieldSummary>> summaries_;
77 mutable std::shared_ptr<PartitionFieldSummaryStructLike> summary_;
89 Result<Scalar> GetField(
size_t pos)
const override;
91 size_t num_fields()
const override;
93 void Reset(
const ManifestFile& file) { manifest_file_ = std::cref(file); }
96 std::reference_wrapper<const ManifestFile> manifest_file_;
97 mutable std::shared_ptr<PartitionFieldSummaryArrayLike> summaries_;
An immutable array-like wrapper.
Definition struct_like.h:75
StructLike wrapper for ManifestFile.
Definition manifest_wrapper.h:81
ArrayLike wrapper for a vector of PartitionFieldSummary.
Definition manifest_wrapper.h:56
size_t size() const override
Get the number of elements in the array.
Definition manifest_wrapper.h:69
StructLike wrapper for PartitionFieldSummary.
Definition manifest_wrapper.h:35
size_t num_fields() const override
Get the number of fields in the struct.
Definition manifest_wrapper.h:47
An immutable struct-like wrapper.
Definition struct_like.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