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

The REntry is a collection of values in an ntuple corresponding to a complete row in the data set.

The entry provides a memory-managed binder for a set of values. Through shared pointers, the memory locations that are associated to values are managed.

Definition at line 50 of file REntry.hxx.

Classes

class  RFieldToken
 The field token identifies a top-level field in this entry. More...
 

Public Types

using ConstIterator_t = decltype(fValues)::const_iterator
 

Public Member Functions

 REntry (const REntry &other)=delete
 
 REntry (REntry &&other)=default
 
 ~REntry ()=default
 
ConstIterator_t begin () const
 
template<typename T >
void BindRawPtr (RFieldToken token, T *rawPtr)
 
template<typename T >
void BindRawPtr (std::string_view fieldName, T *rawPtr)
 
template<typename T >
void BindValue (RFieldToken token, std::shared_ptr< T > objPtr)
 
template<typename T >
void BindValue (std::string_view fieldName, std::shared_ptr< T > objPtr)
 
void EmplaceNewValue (RFieldToken token)
 
void EmplaceNewValue (std::string_view fieldName)
 
ConstIterator_t end () const
 
std::uint64_t GetModelId () const
 
template<typename T >
std::shared_ptr< T > GetPtr (RFieldToken token) const
 
template<typename T >
std::shared_ptr< T > GetPtr (std::string_view fieldName) const
 
RFieldToken GetToken (std::string_view fieldName) const
 The ordinal of the top-level field fieldName; can be used in other methods to address the corresponding value.
 
REntryoperator= (const REntry &other)=delete
 
REntryoperator= (REntry &&other)=default
 

Private Member Functions

 REntry ()=default
 
 REntry (std::uint64_t modelId)
 
template<typename T , typename... ArgsT>
std::shared_ptr< T > AddValue (RField< T > &field, ArgsT &&...args)
 While building the entry, adds a new value to the list and return the value's shared pointer.
 
void AddValue (RFieldBase::RValue &&value)
 
std::size_t Append ()
 
void EnsureMatchingModel (RFieldToken token) const
 
template<typename T >
void EnsureMatchingType (RFieldToken token) const
 
void Read (NTupleSize_t index)
 
void UpdateValue (RFieldToken token, RFieldBase::RValue &&value)
 Update the RValue for a field in the entry.
 
void UpdateValue (RFieldToken token, RFieldBase::RValue &value)
 

Private Attributes

std::unordered_map< std::string, std::size_t > fFieldName2Token
 For fast lookup of token IDs given a top-level field name.
 
std::uint64_t fModelId = 0
 The entry must be linked to a specific model (or one if its clones), identified by a model ID.
 
std::vector< RFieldBase::RValuefValues
 Corresponds to the top-level fields of the linked model.
 

Friends

class Internal::RNTupleProcessor
 
class RNTupleCollectionWriter
 
class RNTupleFillContext
 
class RNTupleModel
 
class RNTupleReader
 

#include <ROOT/REntry.hxx>

Member Typedef Documentation

◆ ConstIterator_t

using ROOT::Experimental::REntry::ConstIterator_t = decltype(fValues)::const_iterator

Definition at line 140 of file REntry.hxx.

Constructor & Destructor Documentation

◆ REntry() [1/4]

ROOT::Experimental::REntry::REntry ( )
privatedefault

◆ REntry() [2/4]

ROOT::Experimental::REntry::REntry ( std::uint64_t  modelId)
inlineexplicitprivate

Definition at line 80 of file REntry.hxx.

◆ REntry() [3/4]

ROOT::Experimental::REntry::REntry ( const REntry other)
delete

◆ REntry() [4/4]

ROOT::Experimental::REntry::REntry ( REntry &&  other)
default

◆ ~REntry()

ROOT::Experimental::REntry::~REntry ( )
default

Member Function Documentation

◆ AddValue() [1/2]

template<typename T , typename... ArgsT>
std::shared_ptr< T > ROOT::Experimental::REntry::AddValue ( RField< T > &  field,
ArgsT &&...  args 
)
inlineprivate

While building the entry, adds a new value to the list and return the value's shared pointer.

Definition at line 90 of file REntry.hxx.

◆ AddValue() [2/2]

void ROOT::Experimental::REntry::AddValue ( RFieldBase::RValue &&  value)
inlineprivate

Definition at line 82 of file REntry.hxx.

◆ Append()

std::size_t ROOT::Experimental::REntry::Append ( )
inlineprivate

Definition at line 110 of file REntry.hxx.

◆ begin()

ConstIterator_t ROOT::Experimental::REntry::begin ( ) const
inline

Definition at line 210 of file REntry.hxx.

◆ BindRawPtr() [1/2]

template<typename T >
void ROOT::Experimental::REntry::BindRawPtr ( RFieldToken  token,
T *  rawPtr 
)
inline

Definition at line 181 of file REntry.hxx.

◆ BindRawPtr() [2/2]

template<typename T >
void ROOT::Experimental::REntry::BindRawPtr ( std::string_view  fieldName,
T *  rawPtr 
)
inline

Definition at line 189 of file REntry.hxx.

◆ BindValue() [1/2]

template<typename T >
void ROOT::Experimental::REntry::BindValue ( RFieldToken  token,
std::shared_ptr< T >  objPtr 
)
inline

Definition at line 167 of file REntry.hxx.

◆ BindValue() [2/2]

template<typename T >
void ROOT::Experimental::REntry::BindValue ( std::string_view  fieldName,
std::shared_ptr< T >  objPtr 
)
inline

Definition at line 175 of file REntry.hxx.

◆ EmplaceNewValue() [1/2]

void ROOT::Experimental::REntry::EmplaceNewValue ( RFieldToken  token)
inline

Definition at line 158 of file REntry.hxx.

◆ EmplaceNewValue() [2/2]

void ROOT::Experimental::REntry::EmplaceNewValue ( std::string_view  fieldName)
inline

Definition at line 164 of file REntry.hxx.

◆ end()

ConstIterator_t ROOT::Experimental::REntry::end ( ) const
inline

Definition at line 211 of file REntry.hxx.

◆ EnsureMatchingModel()

void ROOT::Experimental::REntry::EnsureMatchingModel ( RFieldToken  token) const
inlineprivate

Definition at line 119 of file REntry.hxx.

◆ EnsureMatchingType()

template<typename T >
void ROOT::Experimental::REntry::EnsureMatchingType ( RFieldToken  token) const
inlineprivate

Definition at line 128 of file REntry.hxx.

◆ GetModelId()

std::uint64_t ROOT::Experimental::REntry::GetModelId ( ) const
inline

Definition at line 208 of file REntry.hxx.

◆ GetPtr() [1/2]

template<typename T >
std::shared_ptr< T > ROOT::Experimental::REntry::GetPtr ( RFieldToken  token) const
inline

Definition at line 195 of file REntry.hxx.

◆ GetPtr() [2/2]

template<typename T >
std::shared_ptr< T > ROOT::Experimental::REntry::GetPtr ( std::string_view  fieldName) const
inline

Definition at line 203 of file REntry.hxx.

◆ GetToken()

RFieldToken ROOT::Experimental::REntry::GetToken ( std::string_view  fieldName) const
inline

The ordinal of the top-level field fieldName; can be used in other methods to address the corresponding value.

Definition at line 149 of file REntry.hxx.

◆ operator=() [1/2]

REntry & ROOT::Experimental::REntry::operator= ( const REntry other)
delete

◆ operator=() [2/2]

REntry & ROOT::Experimental::REntry::operator= ( REntry &&  other)
default

◆ Read()

void ROOT::Experimental::REntry::Read ( NTupleSize_t  index)
inlineprivate

Definition at line 103 of file REntry.hxx.

◆ UpdateValue() [1/2]

void ROOT::Experimental::REntry::UpdateValue ( RFieldToken  token,
RFieldBase::RValue &&  value 
)
inlineprivate

Update the RValue for a field in the entry.

To be used when its underlying RFieldBase changes, which typically happens when page source the field values are read from changes.

Definition at line 100 of file REntry.hxx.

◆ UpdateValue() [2/2]

void ROOT::Experimental::REntry::UpdateValue ( RFieldToken  token,
RFieldBase::RValue value 
)
inlineprivate

Definition at line 101 of file REntry.hxx.

Friends And Related Symbol Documentation

◆ Internal::RNTupleProcessor

friend class Internal::RNTupleProcessor
friend

Definition at line 55 of file REntry.hxx.

◆ RNTupleCollectionWriter

friend class RNTupleCollectionWriter
friend

Definition at line 51 of file REntry.hxx.

◆ RNTupleFillContext

friend class RNTupleFillContext
friend

Definition at line 54 of file REntry.hxx.

◆ RNTupleModel

friend class RNTupleModel
friend

Definition at line 52 of file REntry.hxx.

◆ RNTupleReader

friend class RNTupleReader
friend

Definition at line 53 of file REntry.hxx.

Member Data Documentation

◆ fFieldName2Token

std::unordered_map<std::string, std::size_t> ROOT::Experimental::REntry::fFieldName2Token
private

For fast lookup of token IDs given a top-level field name.

Definition at line 75 of file REntry.hxx.

◆ fModelId

std::uint64_t ROOT::Experimental::REntry::fModelId = 0
private

The entry must be linked to a specific model (or one if its clones), identified by a model ID.

Definition at line 71 of file REntry.hxx.

◆ fValues

std::vector<RFieldBase::RValue> ROOT::Experimental::REntry::fValues
private

Corresponds to the top-level fields of the linked model.

Definition at line 73 of file REntry.hxx.

Libraries for ROOT::Experimental::REntry:

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