12#ifndef ROOT_RDF_RTREECOLUMNREADER
13#define ROOT_RDF_RTREECOLUMNREADER
39 std::unique_ptr<ROOT::Internal::TTreeReaderOpaqueValue>
fTreeValue;
58 std::unique_ptr<ROOT::Internal::TTreeReaderUntypedValue>
fTreeValue;
85 ECollectionType collType);
130 std::string_view maskName,
unsigned int maskIndex);
long long Long64_t
Portable signed long integer 8 bytes.
#define R__CLING_PTRCHECK(ONOFF)
std::unique_ptr< TTreeReaderValue< uint64_t > > fTreeValueMask
std::unique_ptr< ROOT::Detail::RDF::RColumnReaderBase > fValueReader
~RMaskedColumnReader() override
void * GetImpl(Long64_t) override
void SetColumnReader(std::unique_ptr< ROOT::Detail::RDF::RColumnReaderBase > reader)
RMaskedColumnReader(TTreeReader &r, std::unique_ptr< ROOT::Detail::RDF::RColumnReaderBase > valueReader, std::string_view maskName, unsigned int maskIndex)
RTreeOpaqueColumnReader(const RTreeOpaqueColumnReader &)=delete
RTreeOpaqueColumnReader & operator=(const RTreeOpaqueColumnReader &)=delete
RTreeOpaqueColumnReader & operator=(RTreeOpaqueColumnReader &&)=delete
RTreeOpaqueColumnReader(RTreeOpaqueColumnReader &&)=delete
std::unique_ptr< ROOT::Internal::TTreeReaderOpaqueValue > fTreeValue
void * GetImpl(Long64_t) override
RTreeOpaqueColumnReader(TTreeReader &r, std::string_view colName)
Construct the RTreeColumnReader. Actual initialization is performed lazily by the Init method.
~RTreeOpaqueColumnReader() final
RTreeColumnReader specialization for TTree values read via TTreeReaderUntypedValue.
bool fCopyWarningPrinted
Whether we already printed a warning about performing a copy of the TTreeReaderArray contents.
RTreeUntypedArrayColumnReader & operator=(RTreeUntypedArrayColumnReader &&)=delete
ECollectionType fCollectionType
RTreeUntypedArrayColumnReader(const RTreeUntypedArrayColumnReader &)=delete
void * GetImpl(Long64_t entry) override
~RTreeUntypedArrayColumnReader() final
void * ReadRVec(Long64_t entry)
RTreeUntypedArrayColumnReader(TTreeReader &r, std::string_view colName, std::string_view valueTypeName, ECollectionType collType)
RTreeUntypedArrayColumnReader(RTreeUntypedArrayColumnReader &&)=delete
void * ReadStdArray(Long64_t entry)
RVec< Byte_t > fRVec
We return a reference to this RVec to clients, to guarantee a stable address and contiguous memory la...
std::unique_ptr< ROOT::Internal::TTreeReaderUntypedArray > fTreeArray
std::vector< Byte_t > fStdVector
When the user explicitly requests std::vector<T>, we use this std::vector as a stable storage.
RTreeUntypedArrayColumnReader & operator=(const RTreeUntypedArrayColumnReader &)=delete
void * ReadStdVector(Long64_t entry)
std::size_t fValueSize
The size of the collection value type.
RTreeUntypedValueColumnReader(RTreeUntypedValueColumnReader &&)=delete
RTreeUntypedValueColumnReader(TTreeReader &r, std::string_view colName, std::string_view typeName)
void * GetImpl(Long64_t) override
RTreeUntypedValueColumnReader & operator=(const RTreeUntypedValueColumnReader &)=delete
std::unique_ptr< ROOT::Internal::TTreeReaderUntypedValue > fTreeValue
RTreeUntypedValueColumnReader(const RTreeUntypedValueColumnReader &)=delete
RTreeUntypedValueColumnReader & operator=(RTreeUntypedValueColumnReader &&)=delete
~RTreeUntypedValueColumnReader() final
Read a value in a branch without knowledge of its type.
A "std::vector"-like collection of values implementing handy operation to analyse them.
An interface for reading values stored in ROOT columnar datasets.
A simple, robust and fast interface to read values from ROOT columnar datasets such as TTree,...
Special implementation of ROOT::RRangeCast for TCollection, including a check that the cast target ty...