26namespace Experimental {
102 other.fPageAllocator =
nullptr;
106 if (
this != &other) {
108 std::swap(
fBuffer, other.fBuffer);
143 return (clusterIndex.
GetIndex() >= clusterRangeFirst) &&
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t Int_t Int_t Window_t TString Int_t GCValues_t GetPrimarySelectionOwner GetDisplay GetScreen GetColormap GetNativeEvent const char const char dpyName wid window const char font_name cursor keysym reg const char only_if_exist regb h Point_t winding char text const char depth char const char Int_t count const char ColorStruct_t color const char Pixmap_t Pixmap_t PictureAttributes_t attr const char char ret_data h unsigned char height h offset
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize id
Abstract interface to allocate and release pages.
Stores information about the cluster in which this page resides.
NTupleSize_t fIndexOffset
The first element index of the column in this cluster.
NTupleSize_t GetIndexOffset() const
RClusterInfo(NTupleSize_t id, NTupleSize_t indexOffset)
NTupleSize_t GetId() const
DescriptorId_t fId
The cluster number.
A page is a slice of a column that is mapped into memory.
void ResetCluster(const RClusterInfo &clusterInfo)
bool operator!=(const RPage &other) const
void Reset(NTupleSize_t rangeFirst)
Forget all currently stored elements (size == 0) and set a new starting index.
void * GrowUnchecked(ClusterSize_t::ValueType nElements)
Called during writing: returns a pointer after the last element and increases the element counter in ...
bool operator==(const RPage &other) const
ClusterSize_t::ValueType GetClusterRangeFirst() const
RPage & operator=(const RPage &)=delete
RPage & operator=(RPage &&other)
static constexpr size_t kPageZeroSize
NTupleSize_t GetGlobalRangeFirst() const
const RClusterInfo & GetClusterInfo() const
bool Contains(RClusterIndex clusterIndex) const
ColumnId_t GetColumnId() const
static RPage MakePageZero(ColumnId_t columnId, ClusterSize_t::ValueType elementSize)
Make a 'zero' page for column columnId (that is comprised of 0x00 bytes only).
std::uint32_t GetNBytes() const
The space taken by column elements in the buffer.
RClusterInfo fClusterInfo
std::uint32_t GetElementSize() const
std::uint32_t fMaxElements
The capacity of the page in number of elements.
std::uint32_t GetNElements() const
RPageAllocator * fPageAllocator
The allocator used to allocate fBuffer. Can be null if the buffer doesn't need to be freed.
bool Contains(NTupleSize_t globalIndex) const
void SetWindow(const NTupleSize_t rangeFirst, const RClusterInfo &clusterInfo)
Seek the page to a certain position of the column.
ClusterSize_t::ValueType GetClusterRangeLast() const
RPage(const RPage &)=delete
std::uint32_t fElementSize
NTupleSize_t GetGlobalRangeLast() const
RPage(ColumnId_t columnId, void *buffer, RPageAllocator *pageAllocator, ClusterSize_t::ValueType elementSize, ClusterSize_t::ValueType maxElements)
static const void * GetPageZeroBuffer()
Return a pointer to the page zero buffer used if there is no on-disk data for a particular deferred c...
std::uint32_t GetMaxElements() const
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.
tbb::task_arena is an alias of tbb::interface7::task_arena, which doesn't allow to forward declare tb...