Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
ROOT::RFieldBase::RValue Class Referencefinal

Points to an object with RNTuple I/O support and keeps a pointer to the corresponding field.

Fields can create RValue objects through RFieldBase::CreateValue(), RFieldBase::BindValue()) or RFieldBase::SplitValue().

Definition at line 738 of file RFieldBase.hxx.

Public Member Functions

 RValue (const RValue &other)
 
 RValue (RValue &&other)
 
 ~RValue ()=default
 
void Bind (std::shared_ptr< void > objPtr)
 
void BindRawPtr (void *rawPtr)
 
void EmplaceNew ()
 Replace the current object pointer by a pointer to a new object constructed by the field.
 
const RFieldBaseGetField () const
 
template<typename T >
std::shared_ptr< T > GetPtr () const
 
template<typename T >
const T & GetRef () const
 
RValueoperator= (const RValue &other)
 
RValueoperator= (RValue &&other)
 
void Read (RNTupleLocalIndex localIndex)
 
void Read (ROOT::NTupleSize_t globalIndex)
 

Private Member Functions

 RValue (RFieldBase *field, std::shared_ptr< void > objPtr)
 
std::size_t Append ()
 
template<typename T >
void EnsureMatchingType () const
 

Private Attributes

RFieldBasefField = nullptr
 The field that created the RValue.
 
std::shared_ptr< void > fObjPtr
 Set by Bind() or by RFieldBase::CreateValue(), RFieldBase::SplitValue() or RFieldBase::BindValue()
 
std::atomic< const std::type_info * > fTypeInfo = nullptr
 

Friends

class RFieldBase
 
class ROOT::REntry
 

#include <ROOT/RFieldBase.hxx>

Constructor & Destructor Documentation

◆ RValue() [1/3]

ROOT::RFieldBase::RValue::RValue ( RFieldBase * field,
std::shared_ptr< void > objPtr )
inlineprivate

Definition at line 748 of file RFieldBase.hxx.

◆ RValue() [2/3]

ROOT::RFieldBase::RValue::RValue ( const RValue & other)
inline

Definition at line 751 of file RFieldBase.hxx.

◆ RValue() [3/3]

ROOT::RFieldBase::RValue::RValue ( RValue && other)
inline

Definition at line 760 of file RFieldBase.hxx.

◆ ~RValue()

ROOT::RFieldBase::RValue::~RValue ( )
default

Member Function Documentation

◆ Append()

std::size_t ROOT::RFieldBase::RValue::Append ( )
inlineprivate

Definition at line 793 of file RFieldBase.hxx.

◆ Bind()

void ROOT::RFieldBase::RValue::Bind ( std::shared_ptr< void > objPtr)
inline

Definition at line 799 of file RFieldBase.hxx.

◆ BindRawPtr()

void ROOT::RFieldBase::RValue::BindRawPtr ( void * rawPtr)

Definition at line 116 of file RFieldBase.cxx.

◆ EmplaceNew()

void ROOT::RFieldBase::RValue::EmplaceNew ( )
inline

Replace the current object pointer by a pointer to a new object constructed by the field.

Definition at line 802 of file RFieldBase.hxx.

◆ EnsureMatchingType()

template<typename T >
void ROOT::RFieldBase::RValue::EnsureMatchingType ( ) const
inlineprivate

Definition at line 773 of file RFieldBase.hxx.

◆ GetField()

const RFieldBase & ROOT::RFieldBase::RValue::GetField ( ) const
inline

Definition at line 818 of file RFieldBase.hxx.

◆ GetPtr()

template<typename T >
std::shared_ptr< T > ROOT::RFieldBase::RValue::GetPtr ( ) const
inline

Definition at line 805 of file RFieldBase.hxx.

◆ GetRef()

template<typename T >
const T & ROOT::RFieldBase::RValue::GetRef ( ) const
inline

Definition at line 812 of file RFieldBase.hxx.

◆ operator=() [1/2]

RValue & ROOT::RFieldBase::RValue::operator= ( const RValue & other)
inline

Definition at line 752 of file RFieldBase.hxx.

◆ operator=() [2/2]

RValue & ROOT::RFieldBase::RValue::operator= ( RValue && other)
inline

Definition at line 761 of file RFieldBase.hxx.

◆ Read() [1/2]

void ROOT::RFieldBase::RValue::Read ( RNTupleLocalIndex localIndex)
inline

Definition at line 797 of file RFieldBase.hxx.

◆ Read() [2/2]

void ROOT::RFieldBase::RValue::Read ( ROOT::NTupleSize_t globalIndex)
inline

Definition at line 796 of file RFieldBase.hxx.

Friends And Related Symbol Documentation

◆ RFieldBase

friend class RFieldBase
friend

Definition at line 739 of file RFieldBase.hxx.

◆ ROOT::REntry

friend class ROOT::REntry
friend

Definition at line 740 of file RFieldBase.hxx.

Member Data Documentation

◆ fField

RFieldBase* ROOT::RFieldBase::RValue::fField = nullptr
private

The field that created the RValue.

Definition at line 743 of file RFieldBase.hxx.

◆ fObjPtr

std::shared_ptr<void> ROOT::RFieldBase::RValue::fObjPtr
private

◆ fTypeInfo

std::atomic<const std::type_info *> ROOT::RFieldBase::RValue::fTypeInfo = nullptr
mutableprivate

Definition at line 746 of file RFieldBase.hxx.

Libraries for ROOT::RFieldBase::RValue:

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