Meta-data for a set of ntuple 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 usually span across all available columns but in some cases they can describe only a subset of the columns, for instance when describing friend ntuples.
Definition at line 222 of file RNTupleDescriptor.hxx.
Classes | |
struct | RColumnRange |
The window of element indexes of a particular column in a particular cluster. More... | |
class | RPageRange |
Records the parition 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 (DescriptorId_t physicalId) const |
std::uint64_t | GetBytesOnStorage () const |
std::unordered_set< DescriptorId_t > | GetColumnIds () const |
const RColumnRange & | GetColumnRange (DescriptorId_t physicalId) const |
NTupleSize_t | GetFirstEntryIndex () const |
DescriptorId_t | GetId () const |
ClusterSize_t | GetNEntries () const |
const RPageRange & | GetPageRange (DescriptorId_t physicalId) const |
RClusterDescriptor & | operator= (const RClusterDescriptor &other)=delete |
RClusterDescriptor & | operator= (RClusterDescriptor &&other)=default |
bool | operator== (const RClusterDescriptor &other) const |
Private Attributes | |
DescriptorId_t | fClusterId = kInvalidDescriptorId |
std::unordered_map< DescriptorId_t, RColumnRange > | fColumnRanges |
NTupleSize_t | fFirstEntryIndex = kInvalidNTupleIndex |
Clusters can be swapped by adjusting the entry offsets. | |
ClusterSize_t | fNEntries = kInvalidClusterIndex |
std::unordered_map< DescriptorId_t, RPageRange > | fPageRanges |
Friends | |
class | Internal::RClusterDescriptorBuilder |
#include <ROOT/RNTupleDescriptor.hxx>
|
default |
|
delete |
|
default |
ROOT::Experimental::RClusterDescriptor ROOT::Experimental::RClusterDescriptor::Clone | ( | ) | const |
Definition at line 208 of file RNTupleDescriptor.cxx.
|
inline |
Definition at line 337 of file RNTupleDescriptor.hxx.
std::uint64_t ROOT::Experimental::RClusterDescriptor::GetBytesOnStorage | ( | ) | const |
Definition at line 197 of file RNTupleDescriptor.cxx.
std::unordered_set< ROOT::Experimental::DescriptorId_t > ROOT::Experimental::RClusterDescriptor::GetColumnIds | ( | ) | const |
Definition at line 189 of file RNTupleDescriptor.cxx.
|
inline |
Definition at line 335 of file RNTupleDescriptor.hxx.
|
inline |
Definition at line 333 of file RNTupleDescriptor.hxx.
|
inline |
Definition at line 332 of file RNTupleDescriptor.hxx.
|
inline |
Definition at line 334 of file RNTupleDescriptor.hxx.
|
inline |
Definition at line 336 of file RNTupleDescriptor.hxx.
|
delete |
|
default |
bool ROOT::Experimental::RClusterDescriptor::operator== | ( | const RClusterDescriptor & | other | ) | const |
Definition at line 182 of file RNTupleDescriptor.cxx.
|
friend |
Definition at line 223 of file RNTupleDescriptor.hxx.
|
private |
Definition at line 312 of file RNTupleDescriptor.hxx.
|
private |
Definition at line 318 of file RNTupleDescriptor.hxx.
|
private |
Clusters can be swapped by adjusting the entry offsets.
Definition at line 314 of file RNTupleDescriptor.hxx.
|
private |
Definition at line 316 of file RNTupleDescriptor.hxx.
|
private |
Definition at line 319 of file RNTupleDescriptor.hxx.