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 1510 of file RNTupleDescriptor.hxx.
Public Member Functions | |
RResult< void > | AddCluster (RClusterDescriptor &&clusterDesc) |
RResult< void > | AddClusterGroup (RClusterGroupDescriptor &&clusterGroup) |
RResult< void > | AddColumn (RColumnDescriptor &&columnDesc) |
RResult< void > | AddExtraTypeInfo (RExtraTypeInfoDescriptor &&extraTypeInfoDesc) |
void | AddField (const 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. | |
RNTupleSerializer::StreamerInfoMap_t | BuildStreamerInfos () const |
Get the streamer info records for custom classes. Currently requires the corresponding dictionaries to be loaded. | |
RResult< void > | EnsureValidDescriptor () const |
Checks whether invariants hold: | |
const RNTupleDescriptor & | GetDescriptor () const |
RNTupleDescriptor | MoveDescriptor () |
void | ReplaceExtraTypeInfo (RExtraTypeInfoDescriptor &&extraTypeInfoDesc) |
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) |
void | SetSchemaFromExisting (const RNTupleDescriptor &descriptor) |
Copies the "schema" part of descriptor into the builder's descriptor. | |
void | ShiftAliasColumns (std::uint32_t offset) |
If the descriptor is constructed in pieces consisting of physical and alias columns (regular and projected fields), the natural column order would be. | |
Private Member Functions | |
RResult< void > | EnsureFieldExists (ROOT::DescriptorId_t fieldId) const |
Private Attributes | |
RNTupleDescriptor | fDescriptor |
#include <ROOT/RNTupleDescriptor.hxx>
ROOT::RResult< void > ROOT::Experimental::Internal::RNTupleDescriptorBuilder::AddCluster | ( | RClusterDescriptor && | clusterDesc | ) |
Definition at line 1253 of file RNTupleDescriptor.cxx.
ROOT::RResult< void > ROOT::Experimental::Internal::RNTupleDescriptorBuilder::AddClusterGroup | ( | RClusterGroupDescriptor && | clusterGroup | ) |
Definition at line 1197 of file RNTupleDescriptor.cxx.
ROOT::RResult< void > ROOT::Experimental::Internal::RNTupleDescriptorBuilder::AddColumn | ( | RColumnDescriptor && | columnDesc | ) |
Definition at line 1142 of file RNTupleDescriptor.cxx.
ROOT::RResult< void > ROOT::Experimental::Internal::RNTupleDescriptorBuilder::AddExtraTypeInfo | ( | RExtraTypeInfoDescriptor && | extraTypeInfoDesc | ) |
Definition at line 1263 of file RNTupleDescriptor.cxx.
void ROOT::Experimental::Internal::RNTupleDescriptorBuilder::AddField | ( | const RFieldDescriptor & | fieldDesc | ) |
Definition at line 1078 of file RNTupleDescriptor.cxx.
ROOT::RResult< void > ROOT::Experimental::Internal::RNTupleDescriptorBuilder::AddFieldLink | ( | ROOT::DescriptorId_t | fieldId, |
ROOT::DescriptorId_t | linkId ) |
Definition at line 1088 of file RNTupleDescriptor.cxx.
ROOT::RResult< void > ROOT::Experimental::Internal::RNTupleDescriptorBuilder::AddFieldProjection | ( | ROOT::DescriptorId_t | sourceId, |
ROOT::DescriptorId_t | targetId ) |
Definition at line 1114 of file RNTupleDescriptor.cxx.
|
inline |
The real footer size also include the page list envelopes.
Definition at line 1534 of file RNTupleDescriptor.hxx.
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 1224 of file RNTupleDescriptor.cxx.
ROOT::Experimental::Internal::RNTupleSerializer::StreamerInfoMap_t ROOT::Experimental::Internal::RNTupleDescriptorBuilder::BuildStreamerInfos | ( | ) | const |
Get the streamer info records for custom classes. Currently requires the corresponding dictionaries to be loaded.
Definition at line 1286 of file RNTupleDescriptor.cxx.
|
private |
Definition at line 935 of file RNTupleDescriptor.cxx.
ROOT::RResult< void > ROOT::Experimental::Internal::RNTupleDescriptorBuilder::EnsureValidDescriptor | ( | ) | const |
Checks whether invariants hold:
Definition at line 942 of file RNTupleDescriptor.cxx.
|
inline |
Definition at line 1521 of file RNTupleDescriptor.hxx.
ROOT::Experimental::RNTupleDescriptor ROOT::Experimental::Internal::RNTupleDescriptorBuilder::MoveDescriptor | ( | ) |
Definition at line 977 of file RNTupleDescriptor.cxx.
void ROOT::Experimental::Internal::RNTupleDescriptorBuilder::ReplaceExtraTypeInfo | ( | RExtraTypeInfoDescriptor && | extraTypeInfoDesc | ) |
Definition at line 1274 of file RNTupleDescriptor.cxx.
void ROOT::Experimental::Internal::RNTupleDescriptorBuilder::Reset | ( | ) |
Clears so-far stored clusters, fields, and columns and return to a pristine ntuple descriptor.
Definition at line 1208 of file RNTupleDescriptor.cxx.
void ROOT::Experimental::Internal::RNTupleDescriptorBuilder::SetFeature | ( | unsigned int | flag | ) |
Definition at line 1000 of file RNTupleDescriptor.cxx.
void ROOT::Experimental::Internal::RNTupleDescriptorBuilder::SetNTuple | ( | const std::string_view | name, |
const std::string_view | description ) |
Definition at line 993 of file RNTupleDescriptor.cxx.
|
inline |
Definition at line 1532 of file RNTupleDescriptor.hxx.
|
inline |
Definition at line 1531 of file RNTupleDescriptor.hxx.
void ROOT::Experimental::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 1219 of file RNTupleDescriptor.cxx.
void ROOT::Experimental::Internal::RNTupleDescriptorBuilder::ShiftAliasColumns | ( | std::uint32_t | offset | ) |
If the descriptor is constructed in pieces consisting of physical and alias columns (regular and projected fields), the natural column order would be.
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 orderLogical columns of piece two
Definition at line 1230 of file RNTupleDescriptor.cxx.
|
private |
Definition at line 1512 of file RNTupleDescriptor.hxx.