Records the partition of data into pages for a particular column in a particular cluster.
Definition at line 316 of file RNTupleDescriptor.hxx.
Classes | |
struct | RPageInfo |
We do not need to store the element size / uncompressed page size because we know to which column the page belongs. More... | |
struct | RPageInfoExtended |
Public Member Functions | |
RPageRange ()=default | |
RPageRange (const RPageRange &other)=delete | |
RPageRange (RPageRange &&other)=default | |
RPageRange | Clone () const |
RPageInfoExtended | Find (ROOT::NTupleSize_t idxInCluster) const |
Find the page in the RPageRange that contains the given element. The element must exist. | |
std::vector< RPageInfo > & | GetPageInfos () |
const std::vector< RPageInfo > & | GetPageInfos () const |
ROOT::DescriptorId_t | GetPhysicalColumnId () const |
RPageRange & | operator= (const RPageRange &other)=delete |
RPageRange & | operator= (RPageRange &&other)=default |
bool | operator== (const RPageRange &other) const |
void | SetPhysicalColumnId (ROOT::DescriptorId_t id) |
Private Member Functions | |
std::size_t | ExtendToFitColumnRange (const RColumnRange &columnRange, const ROOT::Internal::RColumnElementBase &element, std::size_t pageSize) |
Extend this RPageRange to fit the given RColumnRange, i.e. | |
Private Attributes | |
std::vector< ROOT::NTupleSize_t > | fCumulativeNElements |
Has the same length than fPageInfos and stores the sum of the number of elements of all the pages up to and including a given index. | |
std::vector< RPageInfo > | fPageInfos |
ROOT::DescriptorId_t | fPhysicalColumnId = ROOT::kInvalidDescriptorId |
Friends | |
class | Internal::RClusterDescriptorBuilder |
#include <ROOT/RNTupleDescriptor.hxx>
|
default |
|
delete |
|
default |
|
inline |
Definition at line 399 of file RNTupleDescriptor.hxx.
|
private |
Extend this RPageRange to fit the given RColumnRange, i.e.
prepend as many synthetic RPageInfos as needed to cover the range in columnRange
. RPageInfo
s are constructed to contain as many elements of type element
given a page size limit of pageSize
(in bytes); the locator for the referenced pages is kTypePageZero
. This function is used to make up RPageRange
s for clusters that contain deferred columns.
Definition at line 228 of file RNTupleDescriptor.cxx.
ROOT::Experimental::RClusterDescriptor::RPageRange::RPageInfoExtended ROOT::Experimental::RClusterDescriptor::RPageRange::Find | ( | ROOT::NTupleSize_t | idxInCluster | ) | const |
Find the page in the RPageRange that contains the given element. The element must exist.
Definition at line 198 of file RNTupleDescriptor.cxx.
|
inline |
Definition at line 415 of file RNTupleDescriptor.hxx.
|
inline |
Definition at line 414 of file RNTupleDescriptor.hxx.
|
inline |
Definition at line 411 of file RNTupleDescriptor.hxx.
|
delete |
|
default |
|
inline |
Definition at line 417 of file RNTupleDescriptor.hxx.
|
inline |
Definition at line 412 of file RNTupleDescriptor.hxx.
|
friend |
Definition at line 317 of file RNTupleDescriptor.hxx.
|
private |
Has the same length than fPageInfos and stores the sum of the number of elements of all the pages up to and including a given index.
Used for binary search in Find().
Definition at line 387 of file RNTupleDescriptor.hxx.
|
private |
Definition at line 390 of file RNTupleDescriptor.hxx.
|
private |
Definition at line 389 of file RNTupleDescriptor.hxx.