Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
ROOT::Experimental::RClusterDescriptor::RPageRange Class Reference

Records the partition of data into pages for a particular column in a particular cluster.

Definition at line 275 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.
 
RPageRangeoperator= (const RPageRange &other)=delete
 
RPageRangeoperator= (RPageRange &&other)=default
 
bool operator== (const RPageRange &other) const
 

Public Attributes

std::vector< RPageInfofPageInfos
 
ROOT::DescriptorId_t fPhysicalColumnId = ROOT::kInvalidDescriptorId
 

Private Member Functions

std::size_t ExtendToFitColumnRange (const RColumnRange &columnRange, const Internal::RColumnElementBase &element, std::size_t pageSize)
 Extend this RPageRange to fit the given RColumnRange, i.e.
 

Private Attributes

std::vector< ROOT::NTupleSize_tfCumulativeNElements
 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.
 

Friends

class Internal::RClusterDescriptorBuilder
 

#include <ROOT/RNTupleDescriptor.hxx>

Constructor & Destructor Documentation

◆ RPageRange() [1/3]

ROOT::Experimental::RClusterDescriptor::RPageRange::RPageRange ( )
default

◆ RPageRange() [2/3]

ROOT::Experimental::RClusterDescriptor::RPageRange::RPageRange ( const RPageRange & other)
delete

◆ RPageRange() [3/3]

ROOT::Experimental::RClusterDescriptor::RPageRange::RPageRange ( RPageRange && other)
default

Member Function Documentation

◆ Clone()

RPageRange ROOT::Experimental::RClusterDescriptor::RPageRange::Clone ( ) const
inline

Definition at line 324 of file RNTupleDescriptor.hxx.

◆ ExtendToFitColumnRange()

std::size_t ROOT::Experimental::RClusterDescriptor::RPageRange::ExtendToFitColumnRange ( const RColumnRange & columnRange,
const Internal::RColumnElementBase & element,
std::size_t pageSize )
private

Extend this RPageRange to fit the given RColumnRange, i.e.

prepend as many synthetic RPageInfos as needed to cover the range in columnRange. RPageInfos 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 RPageRanges for clusters that contain deferred columns.

Returns
The number of column elements covered by the synthesized RPageInfos

Definition at line 229 of file RNTupleDescriptor.cxx.

◆ Find()

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.

◆ operator=() [1/2]

RPageRange & ROOT::Experimental::RClusterDescriptor::RPageRange::operator= ( const RPageRange & other)
delete

◆ operator=() [2/2]

RPageRange & ROOT::Experimental::RClusterDescriptor::RPageRange::operator= ( RPageRange && other)
default

◆ operator==()

bool ROOT::Experimental::RClusterDescriptor::RPageRange::operator== ( const RPageRange & other) const
inline

Definition at line 339 of file RNTupleDescriptor.hxx.

Friends And Related Symbol Documentation

◆ Internal::RClusterDescriptorBuilder

Definition at line 276 of file RNTupleDescriptor.hxx.

Member Data Documentation

◆ fCumulativeNElements

std::vector<ROOT::NTupleSize_t> ROOT::Experimental::RClusterDescriptor::RPageRange::fCumulativeNElements
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 287 of file RNTupleDescriptor.hxx.

◆ fPageInfos

std::vector<RPageInfo> ROOT::Experimental::RClusterDescriptor::RPageRange::fPageInfos

Definition at line 337 of file RNTupleDescriptor.hxx.

◆ fPhysicalColumnId

ROOT::DescriptorId_t ROOT::Experimental::RClusterDescriptor::RPageRange::fPhysicalColumnId = ROOT::kInvalidDescriptorId

Definition at line 336 of file RNTupleDescriptor.hxx.

Libraries for ROOT::Experimental::RClusterDescriptor::RPageRange:

The documentation for this class was generated from the following files: