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 42 of file REntry.hxx.

Public Types

using Iterator_t = decltype(fValues)::iterator
 

Public Member Functions

 REntry (const REntry &other)=delete
 
 REntry (REntry &&other)=default
 
 ~REntry ()=default
 
Iterator_t begin ()
 
void CaptureValueUnsafe (std::string_view fieldName, void *where)
 
Iterator_t end ()
 
template<typename T >
T * Get (std::string_view fieldName) const
 
std::uint64_t GetModelId () const
 
void * GetRawPtr (std::string_view fieldName) const
 
REntryoperator= (const REntry &other)=delete
 
REntryoperator= (REntry &&other)=default
 

Private Member Functions

 REntry ()=default
 
 REntry (std::uint64_t modelId)
 
void AddValue (Detail::RFieldBase::RValue &&value)
 
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.
 

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< std::shared_ptr< void > > fValuePtrs
 The objects involed in serialization and deserialization might be used long after the entry is gone: hence the shared pointer.
 
std::vector< Detail::RFieldBase::RValuefValues
 Corresponds to the top-level fields of the linked model.
 

Friends

class RNTupleModel
 

#include <ROOT/REntry.hxx>

Member Typedef Documentation

◆ Iterator_t

using ROOT::Experimental::REntry::Iterator_t = decltype(fValues)::iterator

Definition at line 70 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 56 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]

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

Definition at line 21 of file REntry.cxx.

◆ AddValue() [2/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 62 of file REntry.hxx.

◆ begin()

Iterator_t ROOT::Experimental::REntry::begin ( )
inline

Definition at line 104 of file REntry.hxx.

◆ CaptureValueUnsafe()

void ROOT::Experimental::REntry::CaptureValueUnsafe ( std::string_view  fieldName,
void *  where 
)

Definition at line 26 of file REntry.cxx.

◆ end()

Iterator_t ROOT::Experimental::REntry::end ( )
inline

Definition at line 105 of file REntry.hxx.

◆ Get()

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

Definition at line 81 of file REntry.hxx.

◆ GetModelId()

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

Definition at line 102 of file REntry.hxx.

◆ GetRawPtr()

void * ROOT::Experimental::REntry::GetRawPtr ( std::string_view  fieldName) const
inline

Definition at line 92 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

Friends And Related Symbol Documentation

◆ RNTupleModel

friend class RNTupleModel
friend

Definition at line 43 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 46 of file REntry.hxx.

◆ fValuePtrs

std::vector<std::shared_ptr<void> > ROOT::Experimental::REntry::fValuePtrs
private

The objects involed in serialization and deserialization might be used long after the entry is gone: hence the shared pointer.

Definition at line 51 of file REntry.hxx.

◆ fValues

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

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

Definition at line 48 of file REntry.hxx.

Libraries for ROOT::Experimental::REntry:

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