18 #ifndef FOEDUS_STORAGE_ARRAY_ARRAY_ID_HPP_
19 #define FOEDUS_STORAGE_ARRAY_ARRAY_ID_HPP_
66 ArrayRange(ArrayOffset begin, ArrayOffset end, ArrayOffset array_size)
68 if (end > array_size) {
123 #endif // FOEDUS_STORAGE_ARRAY_ARRAY_ID_HPP_
bool operator!=(const ArrayRange &other) const
Definitions of IDs in this package and a few related constant values.
Root package of FOEDUS (Fast Optimistic Engine for Data Unification Services).
const ArrayOffset kMaxArrayOffset
The maximum value allowed for ArrayOffset.
uint64_t ArrayOffset
The only key type in array storage.
const uint16_t kInteriorSize
Byte size of an entry in interior page of array storage.
const uint8_t kMaxLevels
Code in array storage assumes this number as the maximum number of levels.
ArrayRange(ArrayOffset begin, ArrayOffset end, ArrayOffset array_size)
this one adjusts the case where end might be larger than the whole array size (right-most) ...
const uint16_t kDataSize
Byte size of data region in each page of array storage.
ArrayOffset begin_
Inclusive beginning of the offset range.
ArrayOffset end_
Exclusive end of the offset range.
bool overlaps(const ArrayRange &other) const
Returns if there is any overlap with the other range.
bool contains(ArrayOffset offset) const
Represents an offset range in an array storage.
bool operator==(const ArrayRange &other) const
const uint16_t kHeaderSize
Byte size of header in each page of array storage.
const uint16_t kInteriorFanout
Max number of entries in an interior page of array storage.
const uint16_t kPageSize
A constant defining the page size (in bytes) of both snapshot pages and volatile pages.
ArrayRange(ArrayOffset begin, ArrayOffset end)