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

A helper class for piece-wise construction of an RNTupleDescriptor.

Used by RPageStorage implementations in order to construct the RNTupleDescriptor from the various header parts.

Definition at line 782 of file RNTupleDescriptor.hxx.

Public Member Functions

RResult< voidAddCluster (DescriptorId_t clusterId, RClusterDescriptorBuilder &&partialCluster)
 
void AddCluster (DescriptorId_t clusterId, RNTupleVersion version, NTupleSize_t firstEntryIndex, ClusterSize_t nEntries)
 
void AddClusterColumnRange (DescriptorId_t clusterId, const RClusterDescriptor::RColumnRange &columnRange)
 
void AddClusterGroup (Internal::RNTupleSerializer::RClusterGroup &clusterGroup)
 
void AddClusterPageRange (DescriptorId_t clusterId, RClusterDescriptor::RPageRange &&pageRange)
 
void AddClustersFromFooter (void *footerBuffer)
 
void AddClusterSummary (Internal::RNTupleSerializer::RClusterSummary &clusterSummary)
 
void AddColumn (DescriptorId_t columnId, DescriptorId_t fieldId, const RNTupleVersion &version, const RColumnModel &model, std::uint32_t index)
 
RResult< voidAddColumn (RColumnDescriptor &&columnDesc)
 
void AddField (const RFieldDescriptor &fieldDesc)
 
RResult< voidAddFieldLink (DescriptorId_t fieldId, DescriptorId_t linkId)
 
RResult< voidEnsureValidDescriptor () const
 Checks whether invariants hold:
 
Internal::RNTupleSerializer::RClusterGroup GetClusterGroup (std::uint32_t id) const
 
const RNTupleDescriptorGetDescriptor () const
 
std::uint32_t GetHeaderCRC32 () const
 
RNTupleDescriptor MoveDescriptor ()
 
void Reset ()
 Clears so-far stored clusters, fields, and columns and return to a pristine ntuple descriptor.
 
void SetFromHeader (void *headerBuffer)
 
void SetHeaderCRC32 (std::uint32_t crc32)
 
void SetNTuple (const std::string_view name, const std::string_view description, const std::string_view author, const RNTupleVersion &version, const RNTupleUuid &uuid)
 
void SetOnDiskFooterSize (std::uint64_t size)
 
void SetOnDiskHeaderSize (std::uint64_t size)
 

Private Member Functions

RResult< voidEnsureFieldExists (DescriptorId_t fieldId) const
 

Private Attributes

std::vector< Internal::RNTupleSerializer::RClusterGroupfClusterGroups
 
std::vector< Internal::RNTupleSerializer::RClusterSummaryfClusterSummaries
 
RNTupleDescriptor fDescriptor
 
std::uint32_t fHeaderCRC32 = 0
 

#include <ROOT/RNTupleDescriptor.hxx>

Member Function Documentation

◆ AddCluster() [1/2]

ROOT::Experimental::RResult< void > ROOT::Experimental::RNTupleDescriptorBuilder::AddCluster ( DescriptorId_t  clusterId,
RClusterDescriptorBuilder &&  partialCluster 
)

Definition at line 1127 of file RNTupleDescriptor.cxx.

◆ AddCluster() [2/2]

void ROOT::Experimental::RNTupleDescriptorBuilder::AddCluster ( DescriptorId_t  clusterId,
RNTupleVersion  version,
NTupleSize_t  firstEntryIndex,
ClusterSize_t  nEntries 
)

Definition at line 1091 of file RNTupleDescriptor.cxx.

◆ AddClusterColumnRange()

void ROOT::Experimental::RNTupleDescriptorBuilder::AddClusterColumnRange ( DescriptorId_t  clusterId,
const RClusterDescriptor::RColumnRange columnRange 
)

Definition at line 1102 of file RNTupleDescriptor.cxx.

◆ AddClusterGroup()

void ROOT::Experimental::RNTupleDescriptorBuilder::AddClusterGroup ( Internal::RNTupleSerializer::RClusterGroup clusterGroup)

Definition at line 1120 of file RNTupleDescriptor.cxx.

◆ AddClusterPageRange()

void ROOT::Experimental::RNTupleDescriptorBuilder::AddClusterPageRange ( DescriptorId_t  clusterId,
RClusterDescriptor::RPageRange &&  pageRange 
)

Definition at line 1108 of file RNTupleDescriptor.cxx.

◆ AddClustersFromFooter()

void ROOT::Experimental::RNTupleDescriptorBuilder::AddClustersFromFooter ( void footerBuffer)

Definition at line 904 of file RNTupleDescriptor.cxx.

◆ AddClusterSummary()

void ROOT::Experimental::RNTupleDescriptorBuilder::AddClusterSummary ( Internal::RNTupleSerializer::RClusterSummary clusterSummary)

Definition at line 1114 of file RNTupleDescriptor.cxx.

◆ AddColumn() [1/2]

void ROOT::Experimental::RNTupleDescriptorBuilder::AddColumn ( DescriptorId_t  columnId,
DescriptorId_t  fieldId,
const RNTupleVersion version,
const RColumnModel model,
std::uint32_t  index 
)

Definition at line 1054 of file RNTupleDescriptor.cxx.

◆ AddColumn() [2/2]

ROOT::Experimental::RResult< void > ROOT::Experimental::RNTupleDescriptorBuilder::AddColumn ( RColumnDescriptor &&  columnDesc)

Definition at line 1069 of file RNTupleDescriptor.cxx.

◆ AddField()

void ROOT::Experimental::RNTupleDescriptorBuilder::AddField ( const RFieldDescriptor fieldDesc)

Definition at line 1024 of file RNTupleDescriptor.cxx.

◆ AddFieldLink()

ROOT::Experimental::RResult< void > ROOT::Experimental::RNTupleDescriptorBuilder::AddFieldLink ( DescriptorId_t  fieldId,
DescriptorId_t  linkId 
)

Definition at line 1029 of file RNTupleDescriptor.cxx.

◆ EnsureFieldExists()

ROOT::Experimental::RResult< void > ROOT::Experimental::RNTupleDescriptorBuilder::EnsureFieldExists ( DescriptorId_t  fieldId) const
private

Definition at line 803 of file RNTupleDescriptor.cxx.

◆ EnsureValidDescriptor()

ROOT::Experimental::RResult< void > ROOT::Experimental::RNTupleDescriptorBuilder::EnsureValidDescriptor ( ) const

Checks whether invariants hold:

  • NTuple name is valid
  • Fields have valid parent and child ids

Definition at line 810 of file RNTupleDescriptor.cxx.

◆ GetClusterGroup()

Internal::RNTupleSerializer::RClusterGroup ROOT::Experimental::RNTupleDescriptorBuilder::GetClusterGroup ( std::uint32_t  id) const
inline

Definition at line 824 of file RNTupleDescriptor.hxx.

◆ GetDescriptor()

const RNTupleDescriptor & ROOT::Experimental::RNTupleDescriptorBuilder::GetDescriptor ( ) const
inline

Definition at line 795 of file RNTupleDescriptor.hxx.

◆ GetHeaderCRC32()

std::uint32_t ROOT::Experimental::RNTupleDescriptorBuilder::GetHeaderCRC32 ( ) const
inline

Definition at line 801 of file RNTupleDescriptor.hxx.

◆ MoveDescriptor()

ROOT::Experimental::RNTupleDescriptor ROOT::Experimental::RNTupleDescriptorBuilder::MoveDescriptor ( )

Definition at line 828 of file RNTupleDescriptor.cxx.

◆ Reset()

void ROOT::Experimental::RNTupleDescriptorBuilder::Reset ( )

Clears so-far stored clusters, fields, and columns and return to a pristine ntuple descriptor.

Definition at line 1145 of file RNTupleDescriptor.cxx.

◆ SetFromHeader()

void ROOT::Experimental::RNTupleDescriptorBuilder::SetFromHeader ( void headerBuffer)

Definition at line 835 of file RNTupleDescriptor.cxx.

◆ SetHeaderCRC32()

void ROOT::Experimental::RNTupleDescriptorBuilder::SetHeaderCRC32 ( std::uint32_t  crc32)
inline

Definition at line 800 of file RNTupleDescriptor.hxx.

◆ SetNTuple()

void ROOT::Experimental::RNTupleDescriptorBuilder::SetNTuple ( const std::string_view  name,
const std::string_view  description,
const std::string_view  author,
const RNTupleVersion version,
const RNTupleUuid uuid 
)

Definition at line 962 of file RNTupleDescriptor.cxx.

◆ SetOnDiskFooterSize()

void ROOT::Experimental::RNTupleDescriptorBuilder::SetOnDiskFooterSize ( std::uint64_t  size)
inline

Definition at line 804 of file RNTupleDescriptor.hxx.

◆ SetOnDiskHeaderSize()

void ROOT::Experimental::RNTupleDescriptorBuilder::SetOnDiskHeaderSize ( std::uint64_t  size)
inline

Definition at line 803 of file RNTupleDescriptor.hxx.

Member Data Documentation

◆ fClusterGroups

std::vector<Internal::RNTupleSerializer::RClusterGroup> ROOT::Experimental::RNTupleDescriptorBuilder::fClusterGroups
private

Definition at line 787 of file RNTupleDescriptor.hxx.

◆ fClusterSummaries

std::vector<Internal::RNTupleSerializer::RClusterSummary> ROOT::Experimental::RNTupleDescriptorBuilder::fClusterSummaries
private

Definition at line 786 of file RNTupleDescriptor.hxx.

◆ fDescriptor

RNTupleDescriptor ROOT::Experimental::RNTupleDescriptorBuilder::fDescriptor
private

Definition at line 784 of file RNTupleDescriptor.hxx.

◆ fHeaderCRC32

std::uint32_t ROOT::Experimental::RNTupleDescriptorBuilder::fHeaderCRC32 = 0
private

Definition at line 785 of file RNTupleDescriptor.hxx.

Libraries for ROOT::Experimental::RNTupleDescriptorBuilder:

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