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

RTreeColumnReader specialization for TTree values read via TTreeReaderUntypedValue.

Definition at line 75 of file RTreeColumnReader.hxx.

Public Types

enum class  ECollectionType { kRVec , kStdArray , kRVecBool , kStdVector }
 

Public Member Functions

 RTreeUntypedArrayColumnReader (const RTreeUntypedArrayColumnReader &)=delete
 
 RTreeUntypedArrayColumnReader (RTreeUntypedArrayColumnReader &&)=delete
 
 RTreeUntypedArrayColumnReader (TTreeReader &r, std::string_view colName, std::string_view valueTypeName, ECollectionType collType)
 
 ~RTreeUntypedArrayColumnReader () final
 
RTreeUntypedArrayColumnReaderoperator= (const RTreeUntypedArrayColumnReader &)=delete
 
RTreeUntypedArrayColumnReaderoperator= (RTreeUntypedArrayColumnReader &&)=delete
 
template<typename T >
T * TryGet (Long64_t entry)
 Return the column value for the given entry.
 

Private Types

using Byte_t = std::byte
 

Private Member Functions

void * GetImpl (Long64_t entry) override
 
void * ReadRVec (Long64_t entry)
 
void * ReadStdArray (Long64_t entry)
 
void * ReadStdVector (Long64_t entry)
 

Private Attributes

ECollectionType fCollectionType
 
bool fCopyWarningPrinted = false
 Whether we already printed a warning about performing a copy of the TTreeReaderArray contents.
 
Long64_t fLastEntry = -1
 
RVec< Byte_tfRVec {}
 We return a reference to this RVec to clients, to guarantee a stable address and contiguous memory layout.
 
std::vector< Byte_tfStdVector {}
 When the user explicitly requests std::vector<T>, we use this std::vector as a stable storage.
 
std::unique_ptr< ROOT::Internal::TTreeReaderUntypedArrayfTreeArray
 
std::size_t fValueSize {}
 The size of the collection value type.
 

#include <ROOT/RDF/RTreeColumnReader.hxx>

Inheritance diagram for ROOT::Internal::RDF::RTreeUntypedArrayColumnReader:
[legend]

Member Typedef Documentation

◆ Byte_t

Member Enumeration Documentation

◆ ECollectionType

Enumerator
kRVec 
kStdArray 
kRVecBool 
kStdVector 

Definition at line 77 of file RTreeColumnReader.hxx.

Constructor & Destructor Documentation

◆ RTreeUntypedArrayColumnReader() [1/3]

ROOT::Internal::RDF::RTreeUntypedArrayColumnReader::RTreeUntypedArrayColumnReader ( TTreeReader & r,
std::string_view colName,
std::string_view valueTypeName,
ECollectionType collType )

Definition at line 174 of file RTreeColumnReader.cxx.

◆ RTreeUntypedArrayColumnReader() [2/3]

ROOT::Internal::RDF::RTreeUntypedArrayColumnReader::RTreeUntypedArrayColumnReader ( const RTreeUntypedArrayColumnReader & )
delete

◆ RTreeUntypedArrayColumnReader() [3/3]

ROOT::Internal::RDF::RTreeUntypedArrayColumnReader::RTreeUntypedArrayColumnReader ( RTreeUntypedArrayColumnReader && )
delete

◆ ~RTreeUntypedArrayColumnReader()

ROOT::Internal::RDF::RTreeUntypedArrayColumnReader::~RTreeUntypedArrayColumnReader ( )
finaldefault

Member Function Documentation

◆ GetImpl()

void * ROOT::Internal::RDF::RTreeUntypedArrayColumnReader::GetImpl ( Long64_t entry)
overrideprivatevirtual

Implements ROOT::Detail::RDF::RColumnReaderBase.

Definition at line 163 of file RTreeColumnReader.cxx.

◆ operator=() [1/2]

RTreeUntypedArrayColumnReader & ROOT::Internal::RDF::RTreeUntypedArrayColumnReader::operator= ( const RTreeUntypedArrayColumnReader & )
delete

◆ operator=() [2/2]

RTreeUntypedArrayColumnReader & ROOT::Internal::RDF::RTreeUntypedArrayColumnReader::operator= ( RTreeUntypedArrayColumnReader && )
delete

◆ ReadRVec()

void * ROOT::Internal::RDF::RTreeUntypedArrayColumnReader::ReadRVec ( Long64_t entry)
private

Definition at line 98 of file RTreeColumnReader.cxx.

◆ ReadStdArray()

void * ROOT::Internal::RDF::RTreeUntypedArrayColumnReader::ReadStdArray ( Long64_t entry)
private

Definition at line 34 of file RTreeColumnReader.cxx.

◆ ReadStdVector()

void * ROOT::Internal::RDF::RTreeUntypedArrayColumnReader::ReadStdVector ( Long64_t entry)
private

Definition at line 64 of file RTreeColumnReader.cxx.

◆ TryGet()

template<typename T >
T * ROOT::Detail::RDF::RColumnReaderBase::TryGet ( Long64_t entry)
inlineinherited

Return the column value for the given entry.

Template Parameters
TThe column type
Parameters
entryThe entry number

The caller is responsible for checking that the returned value actually exists.

Definition at line 39 of file RColumnReaderBase.hxx.

Member Data Documentation

◆ fCollectionType

ECollectionType ROOT::Internal::RDF::RTreeUntypedArrayColumnReader::fCollectionType
private

Definition at line 97 of file RTreeColumnReader.hxx.

◆ fCopyWarningPrinted

bool ROOT::Internal::RDF::RTreeUntypedArrayColumnReader::fCopyWarningPrinted = false
private

Whether we already printed a warning about performing a copy of the TTreeReaderArray contents.

Definition at line 112 of file RTreeColumnReader.hxx.

◆ fLastEntry

Long64_t ROOT::Internal::RDF::RTreeUntypedArrayColumnReader::fLastEntry = -1
private

Definition at line 106 of file RTreeColumnReader.hxx.

◆ fRVec

RVec<Byte_t> ROOT::Internal::RDF::RTreeUntypedArrayColumnReader::fRVec {}
private

We return a reference to this RVec to clients, to guarantee a stable address and contiguous memory layout.

Definition at line 101 of file RTreeColumnReader.hxx.

◆ fStdVector

std::vector<Byte_t> ROOT::Internal::RDF::RTreeUntypedArrayColumnReader::fStdVector {}
private

When the user explicitly requests std::vector<T>, we use this std::vector as a stable storage.

Definition at line 104 of file RTreeColumnReader.hxx.

◆ fTreeArray

std::unique_ptr<ROOT::Internal::TTreeReaderUntypedArray> ROOT::Internal::RDF::RTreeUntypedArrayColumnReader::fTreeArray
private

Definition at line 96 of file RTreeColumnReader.hxx.

◆ fValueSize

std::size_t ROOT::Internal::RDF::RTreeUntypedArrayColumnReader::fValueSize {}
private

The size of the collection value type.

Definition at line 109 of file RTreeColumnReader.hxx.

Libraries for ROOT::Internal::RDF::RTreeUntypedArrayColumnReader:

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