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

Given a set of RPageSources merge them into an RPageSink, optionally changing their compression.

This can also be used to change the compression of a single RNTuple by just passing a single source.

Definition at line 49 of file RNTupleMerger.hxx.

Classes

struct  RColumnInfo
 

Public Member Functions

void Merge (std::span< RPageSource * > sources, RPageSink &destination, const RNTupleMergeOptions &options=RNTupleMergeOptions())
 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.
 
void CollectColumns (const RNTupleDescriptor &descriptor, std::vector< RColumnInfo > &columns)
 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 164 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 120 of file RNTupleMerger.cxx.

◆ CollectColumns()

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

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

Definition at line 149 of file RNTupleMerger.cxx.

◆ Merge()

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

Merge a given set of sources into the destination.

Definition at line 183 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 130 of file RNTupleMerger.cxx.

Member Data Documentation

◆ fOutputIdMap

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

Definition at line 82 of file RNTupleMerger.hxx.

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

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