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

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 1838 of file RNTupleDescriptor.hxx.

Public Member Functions

RResult< void > AddAttributeSet (Experimental::RNTupleAttrSetDescriptor &&attrSetDesc)
 
RResult< void > AddCluster (RClusterDescriptor &&clusterDesc)
 
RResult< void > AddClusterGroup (RClusterGroupDescriptor &&clusterGroup)
 
RResult< void > AddColumn (RColumnDescriptor &&columnDesc)
 
RResult< void > AddExtraTypeInfo (RExtraTypeInfoDescriptor &&extraTypeInfoDesc)
 
void AddField (const ROOT::RFieldBase &field, DescriptorId_t fieldId)
 
void AddField (RFieldDescriptor fieldDesc)
 
RResult< void > AddFieldLink (ROOT::DescriptorId_t fieldId, ROOT::DescriptorId_t linkId)
 
RResult< void > AddFieldProjection (ROOT::DescriptorId_t sourceId, ROOT::DescriptorId_t targetId)
 
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 RNTupleDescriptor & GetDescriptor () const
 
RStringPool & GetStringPool ()
 
RNTupleDescriptor MoveDescriptor ()
 
void ReplaceExtraTypeInfo (RExtraTypeInfoDescriptor &&extraTypeInfoDesc)
 
void SetFeature (unsigned int flag)
 Sets the flag-th bit of the feature flag to 1.
 
void SetNTuple (std::string_view name, std::string_view description)
 
void SetOnDiskHeaderSize (std::uint64_t size)
 
void SetOnDiskHeaderXxHash3 (std::uint64_t xxhash3)
 
void SetSchemaFromExisting (const RNTupleDescriptor &descriptor)
 Copies the "schema" part of descriptor into the builder's descriptor.
 
void SetVersion (std::uint16_t versionEpoch, std::uint16_t versionMajor, std::uint16_t versionMinor, std::uint16_t versionPatch)
 
void SetVersionForWriting ()
 
void ShiftAliasColumns (std::uint32_t offset)
 Shift column IDs of alias columns by offset
 

Private Member Functions

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

Private Attributes

RNTupleDescriptor fDescriptor
 

#include <ROOT/RNTupleDescriptor.hxx>

Member Function Documentation

◆ AddAttributeSet()

ROOT::RResult< void > ROOT::Internal::RNTupleDescriptorBuilder::AddAttributeSet ( Experimental::RNTupleAttrSetDescriptor && attrSetDesc)

Definition at line 1465 of file RNTupleDescriptor.cxx.

◆ AddCluster()

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

Definition at line 1433 of file RNTupleDescriptor.cxx.

◆ AddClusterGroup()

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

Definition at line 1379 of file RNTupleDescriptor.cxx.

◆ AddColumn()

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

Definition at line 1325 of file RNTupleDescriptor.cxx.

◆ AddExtraTypeInfo()

ROOT::RResult< void > ROOT::Internal::RNTupleDescriptorBuilder::AddExtraTypeInfo ( RExtraTypeInfoDescriptor && extraTypeInfoDesc)

Definition at line 1443 of file RNTupleDescriptor.cxx.

◆ AddField() [1/2]

void ROOT::Internal::RNTupleDescriptorBuilder::AddField ( const ROOT::RFieldBase & field,
DescriptorId_t fieldId )

Definition at line 1239 of file RNTupleDescriptor.cxx.

◆ AddField() [2/2]

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

Definition at line 1260 of file RNTupleDescriptor.cxx.

◆ AddFieldLink()

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

Definition at line 1273 of file RNTupleDescriptor.cxx.

◆ AddFieldProjection()

ROOT::RResult< void > ROOT::Internal::RNTupleDescriptorBuilder::AddFieldProjection ( ROOT::DescriptorId_t sourceId,
ROOT::DescriptorId_t targetId )

Definition at line 1297 of file RNTupleDescriptor.cxx.

◆ AddToOnDiskFooterSize()

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

The real footer size also include the page list envelopes.

Definition at line 1870 of file RNTupleDescriptor.hxx.

◆ BeginHeaderExtension()

void ROOT::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 1396 of file RNTupleDescriptor.cxx.

◆ EnsureFieldExists()

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

Definition at line 1070 of file RNTupleDescriptor.cxx.

◆ EnsureValidDescriptor()

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

Checks whether invariants hold:

  • RNTuple epoch is valid
  • RNTuple name is valid
  • Fields have valid parents
  • Number of columns is constant across column representations

Definition at line 1077 of file RNTupleDescriptor.cxx.

◆ GetDescriptor()

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

Definition at line 1850 of file RNTupleDescriptor.hxx.

◆ GetStringPool()

RStringPool & ROOT::Internal::RNTupleDescriptorBuilder::GetStringPool ( )
inline

Definition at line 1851 of file RNTupleDescriptor.hxx.

◆ MoveDescriptor()

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

Definition at line 1116 of file RNTupleDescriptor.cxx.

◆ ReplaceExtraTypeInfo()

void ROOT::Internal::RNTupleDescriptorBuilder::ReplaceExtraTypeInfo ( RExtraTypeInfoDescriptor && extraTypeInfoDesc)

Definition at line 1454 of file RNTupleDescriptor.cxx.

◆ SetFeature()

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

Sets the flag-th bit of the feature flag to 1.

Note that flag itself is not a bitmask, just the bit index of the flag to enable.

Definition at line 1159 of file RNTupleDescriptor.cxx.

◆ SetNTuple()

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

Definition at line 1153 of file RNTupleDescriptor.cxx.

◆ SetOnDiskHeaderSize()

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

Definition at line 1868 of file RNTupleDescriptor.hxx.

◆ SetOnDiskHeaderXxHash3()

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

Definition at line 1867 of file RNTupleDescriptor.hxx.

◆ SetSchemaFromExisting()

void ROOT::Internal::RNTupleDescriptorBuilder::SetSchemaFromExisting ( const RNTupleDescriptor & descriptor)

Copies the "schema" part of descriptor into the builder's descriptor.

This resets the builder's descriptor.

Definition at line 1390 of file RNTupleDescriptor.cxx.

◆ SetVersion()

void ROOT::Internal::RNTupleDescriptorBuilder::SetVersion ( std::uint16_t versionEpoch,
std::uint16_t versionMajor,
std::uint16_t versionMinor,
std::uint16_t versionPatch )

Definition at line 1133 of file RNTupleDescriptor.cxx.

◆ SetVersionForWriting()

void ROOT::Internal::RNTupleDescriptorBuilder::SetVersionForWriting ( )

Definition at line 1145 of file RNTupleDescriptor.cxx.

◆ ShiftAliasColumns()

void ROOT::Internal::RNTupleDescriptorBuilder::ShiftAliasColumns ( std::uint32_t offset)

Shift column IDs of alias columns by offset

If the descriptor is constructed in pieces consisting of physical and alias columns (regular and projected fields), the natural column order would be

  • Physical and alias columns of piece one
  • Physical and alias columns of piece two
  • etc. What we want, however, are first all physical column IDs and then all alias column IDs. This method adds offset to the logical column IDs of all alias columns and fixes up the corresponding column IDs in the projected field descriptors. In this way, a new piece of physical and alias columns can first shift the existing alias columns by the number of new physical columns, resulting in the following order
  • Physical columns of piece one
  • Physical columns of piece two
  • ...

Logical columns of piece two

  • ...

Definition at line 1402 of file RNTupleDescriptor.cxx.

Member Data Documentation

◆ fDescriptor

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

Definition at line 1840 of file RNTupleDescriptor.hxx.

Libraries for ROOT::Internal::RNTupleDescriptorBuilder:

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