25namespace Experimental {
100 return (clusterIndex.
GetIndex() >= clusterRangeFirst) &&
114 return static_cast<unsigned char *
>(
fBuffer) + offset;
Stores information about the cluster in which this page resides.
NTupleSize_t GetIndexOffset() const
DescriptorId_t fId
The cluster number.
RClusterInfo(NTupleSize_t id, NTupleSize_t indexOffset)
NTupleSize_t fIndexOffset
The first element index of the column in this cluster.
NTupleSize_t GetId() const
A page is a slice of a column that is mapped into memory.
ClusterSize_t::ValueType GetClusterRangeLast() const
ClusterSize_t::ValueType GetElementSize() const
ClusterSize_t::ValueType GetCapacity() const
The total space available in the page.
ClusterSize_t::ValueType GetNElements() const
RClusterInfo fClusterInfo
bool Contains(NTupleSize_t globalIndex) const
const RClusterInfo & GetClusterInfo() const
RPage(ColumnId_t columnId, void *buffer, ClusterSize_t::ValueType capacity, ClusterSize_t::ValueType elementSize)
ClusterSize_t::ValueType fNElements
bool operator==(const RPage &other) const
void SetWindow(const NTupleSize_t rangeFirst, const RClusterInfo &clusterInfo)
Seek the page to a certain position of the column.
void ResetCluster(const RClusterInfo &clusterInfo)
ClusterSize_t::ValueType fCapacity
ClusterSize_t::ValueType fElementSize
void Reset(NTupleSize_t rangeFirst)
Forget all currently stored elements (size == 0) and set a new starting index.
NTupleSize_t GetGlobalRangeFirst() const
bool Contains(const RClusterIndex &clusterIndex) const
NTupleSize_t GetGlobalRangeLast() const
void * TryGrow(ClusterSize_t::ValueType nElements)
Return a pointer after the last element that has space for nElements new elements.
ClusterSize_t::ValueType GetClusterRangeFirst() const
bool operator!=(const RPage &other) const
ClusterSize_t::ValueType GetSize() const
The space taken by column elements in the buffer.
Addresses a column element or field item relative to a particular cluster, instead of a global NTuple...
DescriptorId_t GetClusterId() const
ClusterSize_t::ValueType GetIndex() const
std::uint64_t NTupleSize_t
Integer type long enough to hold the maximum number of entries in a column.
RClusterSize ClusterSize_t
constexpr ColumnId_t kInvalidColumnId
std::uint64_t DescriptorId_t
Distriniguishes elements of the same type within a descriptor, e.g. different fields.
std::int64_t ColumnId_t
Uniquely identifies a physical column within the scope of the current process, used to tag pages.