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

Metadata for RNTuple clusters.

The cluster descriptor is built in two phases. In a first phase, the descriptor has only an ID. In a second phase, the event range, column group, page locations and column ranges are added. Both phases are populated by the RClusterDescriptorBuilder. Clusters span across all available columns in the RNTuple.

Definition at line 280 of file RNTupleDescriptor.hxx.

Classes

class  RColumnRange
 The window of element indexes of a particular column in a particular cluster. More...
class  RColumnRangeIterable
class  RPageInfo
 Information about a single page in the context of a cluster's page range. More...
class  RPageInfoExtended
 Additional information about a page in an in-memory RPageRange. More...
class  RPageRange
 Records the partition of data into pages for a particular column in a particular cluster. More...

Public Member Functions

 RClusterDescriptor ()=default
 RClusterDescriptor (const RClusterDescriptor &other)=delete
 RClusterDescriptor (RClusterDescriptor &&other)=default
RClusterDescriptor Clone () const
bool ContainsColumn (ROOT::DescriptorId_t physicalId) const
const RColumnRangeGetColumnRange (ROOT::DescriptorId_t physicalId) const
RColumnRangeIterable GetColumnRangeIterable () const
 Returns an iterator over pairs { columnId, columnRange }. The iteration order is unspecified.
ROOT::NTupleSize_t GetFirstEntryIndex () const
ROOT::DescriptorId_t GetId () const
std::uint64_t GetNBytesOnStorage () const
ROOT::NTupleSize_t GetNEntries () const
const RPageRangeGetPageRange (ROOT::DescriptorId_t physicalId) const
RClusterDescriptoroperator= (const RClusterDescriptor &other)=delete
RClusterDescriptoroperator= (RClusterDescriptor &&other)=default
bool operator== (const RClusterDescriptor &other) const

Private Attributes

ROOT::DescriptorId_t fClusterId = ROOT::kInvalidDescriptorId
std::unordered_map< ROOT::DescriptorId_t, RColumnRangefColumnRanges
ROOT::NTupleSize_t fFirstEntryIndex = ROOT::kInvalidNTupleIndex
 Clusters can be swapped by adjusting the entry offsets of the cluster and all ranges.
ROOT::NTupleSize_t fNEntries = ROOT::kInvalidNTupleIndex
std::unordered_map< ROOT::DescriptorId_t, RPageRangefPageRanges

Friends

class Internal::RClusterDescriptorBuilder

#include <ROOT/RNTupleDescriptor.hxx>

Constructor & Destructor Documentation

◆ RClusterDescriptor() [1/3]

ROOT::RClusterDescriptor::RClusterDescriptor ( )
default

◆ RClusterDescriptor() [2/3]

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

◆ RClusterDescriptor() [3/3]

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

Member Function Documentation

◆ Clone()

ROOT::RClusterDescriptor ROOT::RClusterDescriptor::Clone ( ) const

Definition at line 280 of file RNTupleDescriptor.cxx.

◆ ContainsColumn()

bool ROOT::RClusterDescriptor::ContainsColumn ( ROOT::DescriptorId_t physicalId) const
inline

Definition at line 520 of file RNTupleDescriptor.hxx.

◆ GetColumnRange()

const RColumnRange & ROOT::RClusterDescriptor::GetColumnRange ( ROOT::DescriptorId_t physicalId) const
inline

Definition at line 516 of file RNTupleDescriptor.hxx.

◆ GetColumnRangeIterable()

ROOT::RClusterDescriptor::RColumnRangeIterable ROOT::RClusterDescriptor::GetColumnRangeIterable ( ) const

Returns an iterator over pairs { columnId, columnRange }. The iteration order is unspecified.

Definition at line 1399 of file RNTupleDescriptor.cxx.

◆ GetFirstEntryIndex()

ROOT::NTupleSize_t ROOT::RClusterDescriptor::GetFirstEntryIndex ( ) const
inline

Definition at line 514 of file RNTupleDescriptor.hxx.

◆ GetId()

ROOT::DescriptorId_t ROOT::RClusterDescriptor::GetId ( ) const
inline

Definition at line 513 of file RNTupleDescriptor.hxx.

◆ GetNBytesOnStorage()

std::uint64_t ROOT::RClusterDescriptor::GetNBytesOnStorage ( ) const

Definition at line 269 of file RNTupleDescriptor.cxx.

◆ GetNEntries()

ROOT::NTupleSize_t ROOT::RClusterDescriptor::GetNEntries ( ) const
inline

Definition at line 515 of file RNTupleDescriptor.hxx.

◆ GetPageRange()

const RPageRange & ROOT::RClusterDescriptor::GetPageRange ( ROOT::DescriptorId_t physicalId) const
inline

Definition at line 517 of file RNTupleDescriptor.hxx.

◆ operator=() [1/2]

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

◆ operator=() [2/2]

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

◆ operator==()

bool ROOT::RClusterDescriptor::operator== ( const RClusterDescriptor & other) const

Definition at line 263 of file RNTupleDescriptor.cxx.

◆ Internal::RClusterDescriptorBuilder

Definition at line 281 of file RNTupleDescriptor.hxx.

Member Data Documentation

◆ fClusterId

ROOT::DescriptorId_t ROOT::RClusterDescriptor::fClusterId = ROOT::kInvalidDescriptorId
private

Definition at line 492 of file RNTupleDescriptor.hxx.

◆ fColumnRanges

std::unordered_map<ROOT::DescriptorId_t, RColumnRange> ROOT::RClusterDescriptor::fColumnRanges
private

Definition at line 497 of file RNTupleDescriptor.hxx.

◆ fFirstEntryIndex

ROOT::NTupleSize_t ROOT::RClusterDescriptor::fFirstEntryIndex = ROOT::kInvalidNTupleIndex
private

Clusters can be swapped by adjusting the entry offsets of the cluster and all ranges.

Definition at line 494 of file RNTupleDescriptor.hxx.

◆ fNEntries

ROOT::NTupleSize_t ROOT::RClusterDescriptor::fNEntries = ROOT::kInvalidNTupleIndex
private

Definition at line 495 of file RNTupleDescriptor.hxx.

◆ fPageRanges

std::unordered_map<ROOT::DescriptorId_t, RPageRange> ROOT::RClusterDescriptor::fPageRanges
private

Definition at line 498 of file RNTupleDescriptor.hxx.


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