32#include "iceberg/iceberg_data_export.h"
33#include "iceberg/result.h"
37class PositionDeleteIndex;
54 static constexpr int64_t kMaxPosition = 0x7FFFFFFE80000000LL;
68 void Add(int64_t pos);
76 void AddRange(int64_t pos_start, int64_t pos_end);
81 bool Contains(int64_t pos)
const;
87 size_t Cardinality()
const;
100 void ForEach(
const std::function<
void(int64_t)>& fn)
const;
103 size_t SerializedSizeInBytes()
const;
106 Result<std::string> Serialize()
const;
109 static Result<RoaringPositionBitmap> Deserialize(std::string_view bytes);
113 std::unique_ptr<Impl> impl_;
120 void AddManyForKey(int32_t key, std::span<const uint32_t> positions);
An Expression that represents a logical OR operation between two expressions.
Definition expression.h:215
Tracks deleted row positions using a bitmap.
Definition position_delete_index.h:40
A bitmap that supports positive 64-bit positions, optimized for cases where most positions fit in 32 ...
Definition roaring_position_bitmap.h:51
Definition roaring_position_bitmap.cc:62