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

Given a set of RPageSources merge them into an RPageSink.

Definition at line 40 of file RNTupleMerger.hxx.

Classes

struct  RColumnInfo
 

Public Member Functions

void Merge (std::span< RPageSource * > sources, RPageSink &destination)
 Merge a given set of sources into the destination.
 

Private Member Functions

void AddColumnsFromField (std::vector< RColumnInfo > &columns, const RNTupleDescriptor &desc, const RFieldDescriptor &fieldDesc, const std::string &prefix="")
 Recursively add columns from a given field.
 
void BuildColumnIdMap (std::vector< RColumnInfo > &columns)
 Build the internal column id map from the first source This is where we assign the output ids for the first source.
 
std::vector< RColumnInfoCollectColumns (const RNTupleDescriptor &descriptor)
 Recursively collect all the columns for all the fields rooted at field zero.
 
void ValidateColumns (std::vector< RColumnInfo > &columns)
 Validate the columns against the internal map that is built from the first source This is where we assign the output ids for the remaining sources.
 

Private Attributes

std::unordered_map< std::string, DescriptorId_tfOutputIdMap
 

#include <ROOT/RNTupleMerger.hxx>

Member Function Documentation

◆ AddColumnsFromField()

void ROOT::Experimental::Internal::RNTupleMerger::AddColumnsFromField ( std::vector< RColumnInfo > &  columns,
const RNTupleDescriptor desc,
const RFieldDescriptor fieldDesc,
const std::string &  prefix = "" 
)
private

Recursively add columns from a given field.

Definition at line 146 of file RNTupleMerger.cxx.

◆ BuildColumnIdMap()

void ROOT::Experimental::Internal::RNTupleMerger::BuildColumnIdMap ( std::vector< RColumnInfo > &  columns)
private

Build the internal column id map from the first source This is where we assign the output ids for the first source.

Definition at line 100 of file RNTupleMerger.cxx.

◆ CollectColumns()

std::vector< ROOT::Experimental::Internal::RNTupleMerger::RColumnInfo > ROOT::Experimental::Internal::RNTupleMerger::CollectColumns ( const RNTupleDescriptor descriptor)
private

Recursively collect all the columns for all the fields rooted at field zero.

Definition at line 130 of file RNTupleMerger.cxx.

◆ Merge()

void ROOT::Experimental::Internal::RNTupleMerger::Merge ( std::span< RPageSource * >  sources,
RPageSink destination 
)

Merge a given set of sources into the destination.

Definition at line 162 of file RNTupleMerger.cxx.

◆ ValidateColumns()

void ROOT::Experimental::Internal::RNTupleMerger::ValidateColumns ( std::vector< RColumnInfo > &  columns)
private

Validate the columns against the internal map that is built from the first source This is where we assign the output ids for the remaining sources.

Definition at line 110 of file RNTupleMerger.cxx.

Member Data Documentation

◆ fOutputIdMap

std::unordered_map<std::string, DescriptorId_t> ROOT::Experimental::Internal::RNTupleMerger::fOutputIdMap
private

Definition at line 73 of file RNTupleMerger.hxx.

Libraries for ROOT::Experimental::Internal::RNTupleMerger:

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