Logo ROOT  
Reference Guide
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 ()=default
 
 REntry (const REntry &other)=delete
 
 ~REntry ()
 
void AddValue (const Detail::RFieldValue &value)
 Adds a value whose storage is managed by the entry. More...
 
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. More...
 
Iterator_t begin ()
 
void CaptureValue (const Detail::RFieldValue &value)
 Adds a value whose storage is not managed by the entry. More...
 
Iterator_t end ()
 
template<typename T >
T * Get (std::string_view fieldName)
 
Detail::RFieldValue GetValue (std::string_view fieldName)
 
REntryoperator= (const REntry &other)=delete
 

Private Attributes

std::vector< std::size_t > fManagedValues
 Points into fValues and indicates the values that are owned by the entry and need to be destructed. More...
 
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. More...
 
std::vector< Detail::RFieldValuefValues
 

#include <ROOT/REntry.hxx>

Member Typedef Documentation

◆ Iterator_t

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

Definition at line 51 of file REntry.hxx.

Constructor & Destructor Documentation

◆ REntry() [1/2]

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

◆ REntry() [2/2]

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

◆ ~REntry()

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

Definition at line 19 of file REntry.cxx.

Member Function Documentation

◆ AddValue() [1/2]

void ROOT::Experimental::REntry::AddValue ( const Detail::RFieldValue value)

Adds a value whose storage is managed by the entry.

Definition at line 26 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 
)
inline

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

Definition at line 66 of file REntry.hxx.

◆ begin()

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

Definition at line 92 of file REntry.hxx.

◆ CaptureValue()

void ROOT::Experimental::REntry::CaptureValue ( const Detail::RFieldValue value)

Adds a value whose storage is not managed by the entry.

Definition at line 32 of file REntry.cxx.

◆ end()

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

Definition at line 93 of file REntry.hxx.

◆ Get()

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

Definition at line 82 of file REntry.hxx.

◆ GetValue()

Detail::RFieldValue ROOT::Experimental::REntry::GetValue ( std::string_view  fieldName)
inline

Definition at line 73 of file REntry.hxx.

◆ operator=()

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

Member Data Documentation

◆ fManagedValues

std::vector<std::size_t> ROOT::Experimental::REntry::fManagedValues
private

Points into fValues and indicates the values that are owned by the entry and need to be destructed.

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

◆ fValues

std::vector<Detail::RFieldValue> ROOT::Experimental::REntry::fValues
private

Definition at line 43 of file REntry.hxx.


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