Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
ROOT::Experimental::Internal::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 1080 of file RNTupleDescriptor.hxx.

Public Member Functions

RResult< void > AddCluster (RClusterDescriptor &&clusterDesc)
 
RResult< void > AddClusterGroup (RClusterGroupDescriptor &&clusterGroup)
 
void AddColumn (DescriptorId_t logicalId, DescriptorId_t physicalId, DescriptorId_t fieldId, const RColumnModel &model, std::uint32_t index, std::uint64_t firstElementIdx=0U)
 
RResult< void > AddColumn (RColumnDescriptor &&columnDesc)
 
void AddField (const RFieldDescriptor &fieldDesc)
 
RResult< void > AddFieldLink (DescriptorId_t fieldId, DescriptorId_t linkId)
 
void AddToOnDiskFooterSize (std::uint64_t size)
 The real footer size also include the page list envelopes.
 
void BeginHeaderExtension ()
 Mark the beginning of the header extension; any fields and columns added after a call to this function are annotated as begin part of the header extension.
 
RResult< void > EnsureValidDescriptor () const
 Checks whether invariants hold:
 
const RNTupleDescriptorGetDescriptor () const
 
RNTupleDescriptor MoveDescriptor ()
 
void Reset ()
 Clears so-far stored clusters, fields, and columns and return to a pristine ntuple descriptor.
 
void SetFeature (unsigned int flag)
 
void SetNTuple (const std::string_view name, const std::string_view description)
 
void SetOnDiskHeaderSize (std::uint64_t size)
 
void SetOnDiskHeaderXxHash3 (std::uint64_t xxhash3)
 

Private Member Functions

RResult< void > EnsureFieldExists (DescriptorId_t fieldId) const
 

Private Attributes

RNTupleDescriptor fDescriptor
 

#include <ROOT/RNTupleDescriptor.hxx>

Member Function Documentation

◆ AddCluster()

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

Definition at line 877 of file RNTupleDescriptor.cxx.

◆ AddClusterGroup()

ROOT::Experimental::RResult< void > ROOT::Experimental::Internal::RNTupleDescriptorBuilder::AddClusterGroup ( RClusterGroupDescriptor &&  clusterGroup)

Definition at line 848 of file RNTupleDescriptor.cxx.

◆ AddColumn() [1/2]

void ROOT::Experimental::Internal::RNTupleDescriptorBuilder::AddColumn ( DescriptorId_t  logicalId,
DescriptorId_t  physicalId,
DescriptorId_t  fieldId,
const RColumnModel model,
std::uint32_t  index,
std::uint64_t  firstElementIdx = 0U 
)

Definition at line 796 of file RNTupleDescriptor.cxx.

◆ AddColumn() [2/2]

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

Definition at line 817 of file RNTupleDescriptor.cxx.

◆ AddField()

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

Definition at line 763 of file RNTupleDescriptor.cxx.

◆ AddFieldLink()

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

Definition at line 771 of file RNTupleDescriptor.cxx.

◆ AddToOnDiskFooterSize()

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

The real footer size also include the page list envelopes.

Definition at line 1098 of file RNTupleDescriptor.hxx.

◆ BeginHeaderExtension()

void ROOT::Experimental::Internal::RNTupleDescriptorBuilder::BeginHeaderExtension ( )

Mark the beginning of the header extension; any fields and columns added after a call to this function are annotated as begin part of the header extension.

Definition at line 870 of file RNTupleDescriptor.cxx.

◆ EnsureFieldExists()

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

Definition at line 661 of file RNTupleDescriptor.cxx.

◆ EnsureValidDescriptor()

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

Checks whether invariants hold:

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

Definition at line 668 of file RNTupleDescriptor.cxx.

◆ GetDescriptor()

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

Definition at line 1089 of file RNTupleDescriptor.hxx.

◆ MoveDescriptor()

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

Definition at line 687 of file RNTupleDescriptor.cxx.

◆ Reset()

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

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

Definition at line 859 of file RNTupleDescriptor.cxx.

◆ SetFeature()

void ROOT::Experimental::Internal::RNTupleDescriptorBuilder::SetFeature ( unsigned int  flag)

Definition at line 701 of file RNTupleDescriptor.cxx.

◆ SetNTuple()

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

Definition at line 694 of file RNTupleDescriptor.cxx.

◆ SetOnDiskHeaderSize()

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

Definition at line 1096 of file RNTupleDescriptor.hxx.

◆ SetOnDiskHeaderXxHash3()

void ROOT::Experimental::Internal::RNTupleDescriptorBuilder::SetOnDiskHeaderXxHash3 ( std::uint64_t  xxhash3)
inline

Definition at line 1095 of file RNTupleDescriptor.hxx.

Member Data Documentation

◆ fDescriptor

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

Definition at line 1082 of file RNTupleDescriptor.hxx.

Libraries for ROOT::Experimental::Internal::RNTupleDescriptorBuilder:

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