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 45 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)
 

Private Attributes

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 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 122 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 72 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 78 of file REntry.hxx.

◆ AddValue() [2/2]

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

Definition at line 74 of file REntry.hxx.

◆ Append()

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

Definition at line 92 of file REntry.hxx.

◆ begin()

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

Definition at line 194 of file REntry.hxx.

◆ BindRawPtr() [1/2]

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

Definition at line 165 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 173 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 151 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 159 of file REntry.hxx.

◆ EmplaceNewValue() [1/2]

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

Definition at line 142 of file REntry.hxx.

◆ EmplaceNewValue() [2/2]

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

Definition at line 148 of file REntry.hxx.

◆ end()

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

Definition at line 195 of file REntry.hxx.

◆ EnsureMatchingModel()

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

Definition at line 101 of file REntry.hxx.

◆ EnsureMatchingType()

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

Definition at line 110 of file REntry.hxx.

◆ GetModelId()

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

Definition at line 192 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 179 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 187 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 131 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 85 of file REntry.hxx.

Friends And Related Symbol Documentation

◆ RNTupleCollectionWriter

friend class RNTupleCollectionWriter
friend

Definition at line 46 of file REntry.hxx.

◆ RNTupleFillContext

friend class RNTupleFillContext
friend

Definition at line 49 of file REntry.hxx.

◆ RNTupleModel

friend class RNTupleModel
friend

Definition at line 47 of file REntry.hxx.

◆ RNTupleReader

friend class RNTupleReader
friend

Definition at line 48 of file REntry.hxx.

Member Data Documentation

◆ 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 65 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 67 of file REntry.hxx.

Libraries for ROOT::Experimental::REntry:

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