Logo ROOT  
Reference Guide
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 923 of file RNTupleDescriptor.hxx.

Public Member Functions

void AddClusterGroup (RClusterGroupDescriptorBuilder &&clusterGroup)
 
RResult< voidAddClusterSummary (DescriptorId_t clusterId, std::uint64_t firstEntry, std::uint64_t nEntries)
 
RResult< voidAddClusterWithDetails (RClusterDescriptor &&clusterDesc)
 Used during writing. More...
 
void AddColumn (DescriptorId_t columnId, DescriptorId_t fieldId, const RColumnModel &model, std::uint32_t index)
 
RResult< voidAddColumn (RColumnDescriptor &&columnDesc)
 
void AddField (const RFieldDescriptor &fieldDesc)
 
RResult< voidAddFieldLink (DescriptorId_t fieldId, DescriptorId_t linkId)
 
void AddToOnDiskFooterSize (std::uint64_t size)
 The real footer size also include the page list envelopes. More...
 
RResult< voidEnsureValidDescriptor () const
 Checks whether invariants hold: More...
 
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. More...
 
void SetHeaderCRC32 (std::uint32_t crc32)
 
void SetNTuple (const std::string_view name, const std::string_view description)
 
void SetOnDiskHeaderSize (std::uint64_t size)
 

Private Member Functions

RResult< voidEnsureFieldExists (DescriptorId_t fieldId) const
 

Private Attributes

RNTupleDescriptor fDescriptor
 
std::uint32_t fHeaderCRC32 = 0
 

#include <ROOT/RNTupleDescriptor.hxx>

Member Function Documentation

◆ AddClusterGroup()

void ROOT::Experimental::RNTupleDescriptorBuilder::AddClusterGroup ( RClusterGroupDescriptorBuilder &&  clusterGroup)

Definition at line 608 of file RNTupleDescriptor.cxx.

◆ AddClusterSummary()

ROOT::Experimental::RResult< void > ROOT::Experimental::RNTupleDescriptorBuilder::AddClusterSummary ( DescriptorId_t  clusterId,
std::uint64_t  firstEntry,
std::uint64_t  nEntries 
)

Definition at line 599 of file RNTupleDescriptor.cxx.

◆ AddClusterWithDetails()

ROOT::Experimental::RResult< void > ROOT::Experimental::RNTupleDescriptorBuilder::AddClusterWithDetails ( RClusterDescriptor &&  clusterDesc)

Used during writing.

For reading, cluster summaries are added in the builder and cluster details are added on demand through the RNTupleDescriptor.

Definition at line 625 of file RNTupleDescriptor.cxx.

◆ AddColumn() [1/2]

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

Definition at line 563 of file RNTupleDescriptor.cxx.

◆ AddColumn() [2/2]

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

Definition at line 576 of file RNTupleDescriptor.cxx.

◆ AddField()

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

Definition at line 533 of file RNTupleDescriptor.cxx.

◆ AddFieldLink()

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

Definition at line 538 of file RNTupleDescriptor.cxx.

◆ AddToOnDiskFooterSize()

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

The real footer size also include the page list envelopes.

Definition at line 943 of file RNTupleDescriptor.hxx.

◆ EnsureFieldExists()

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

Definition at line 444 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 451 of file RNTupleDescriptor.cxx.

◆ GetDescriptor()

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

Definition at line 934 of file RNTupleDescriptor.hxx.

◆ GetHeaderCRC32()

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

Definition at line 939 of file RNTupleDescriptor.hxx.

◆ MoveDescriptor()

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

Definition at line 469 of file RNTupleDescriptor.cxx.

◆ Reset()

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

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

Definition at line 614 of file RNTupleDescriptor.cxx.

◆ SetHeaderCRC32()

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

Definition at line 938 of file RNTupleDescriptor.hxx.

◆ SetNTuple()

void ROOT::Experimental::RNTupleDescriptorBuilder::SetNTuple ( const std::string_view  name,
const std::string_view  description 
)

Definition at line 476 of file RNTupleDescriptor.cxx.

◆ SetOnDiskHeaderSize()

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

Definition at line 941 of file RNTupleDescriptor.hxx.

Member Data Documentation

◆ fDescriptor

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

Definition at line 925 of file RNTupleDescriptor.hxx.

◆ fHeaderCRC32

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

Definition at line 926 of file RNTupleDescriptor.hxx.

Libraries for ROOT::Experimental::RNTupleDescriptorBuilder:
[legend]

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