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

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

Only fields can create RValue objects through generation, binding or splitting. An RValue object can be owning or non-owning. Only RField::GenerateValue creates owning RValues. Owning RValues destroy and free the object upon destruction.

Definition at line 140 of file RField.hxx.

Public Member Functions

 RValue (const RValue &)=delete
 
 RValue (RValue &&other)
 
 ~RValue ()
 
std::size_t Append ()
 
template<typename T >
T * Get () const
 
RFieldBaseGetField () const
 
RValue GetNonOwningCopy ()
 
void * GetRawPtr () const
 
RValueoperator= (const RValue &)=delete
 
RValueoperator= (RValue &&other)
 
void Read (const RClusterIndex &clusterIndex)
 
void Read (NTupleSize_t globalIndex)
 
template<typename T >
void * Release ()
 

Private Member Functions

 RValue (RFieldBase *field, void *objPtr, bool isOwning)
 
void DestroyIfOwning ()
 

Private Attributes

RFieldBasefField = nullptr
 The field that created the RValue.
 
bool fIsOwning = false
 If true, fObjPtr is destroyed in the destructor.
 
void * fObjPtr = nullptr
 Created by RFieldBase::GenerateValue() or a non-owning pointer from SplitValue() or BindValue()
 

Friends

class RFieldBase
 

#include <ROOT/RField.hxx>

Constructor & Destructor Documentation

◆ RValue() [1/3]

ROOT::Experimental::Detail::RFieldBase::RValue::RValue ( RFieldBase field,
void *  objPtr,
bool  isOwning 
)
inlineprivate

Definition at line 149 of file RField.hxx.

◆ RValue() [2/3]

ROOT::Experimental::Detail::RFieldBase::RValue::RValue ( const RValue )
delete

◆ RValue() [3/3]

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

Definition at line 160 of file RField.hxx.

◆ ~RValue()

ROOT::Experimental::Detail::RFieldBase::RValue::~RValue ( )
inline

Definition at line 170 of file RField.hxx.

Member Function Documentation

◆ Append()

std::size_t ROOT::Experimental::Detail::RFieldBase::RValue::Append ( )
inline

Definition at line 183 of file RField.hxx.

◆ DestroyIfOwning()

void ROOT::Experimental::Detail::RFieldBase::RValue::DestroyIfOwning ( )
inlineprivate

Definition at line 151 of file RField.hxx.

◆ Get()

template<typename T >
T * ROOT::Experimental::Detail::RFieldBase::RValue::Get ( ) const
inline

Definition at line 188 of file RField.hxx.

◆ GetField()

RFieldBase * ROOT::Experimental::Detail::RFieldBase::RValue::GetField ( ) const
inline

Definition at line 193 of file RField.hxx.

◆ GetNonOwningCopy()

RValue ROOT::Experimental::Detail::RFieldBase::RValue::GetNonOwningCopy ( )
inline

Definition at line 172 of file RField.hxx.

◆ GetRawPtr()

void * ROOT::Experimental::Detail::RFieldBase::RValue::GetRawPtr ( ) const
inline

Definition at line 192 of file RField.hxx.

◆ operator=() [1/2]

RValue & ROOT::Experimental::Detail::RFieldBase::RValue::operator= ( const RValue )
delete

◆ operator=() [2/2]

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

Definition at line 161 of file RField.hxx.

◆ Read() [1/2]

void ROOT::Experimental::Detail::RFieldBase::RValue::Read ( const RClusterIndex clusterIndex)
inline

Definition at line 185 of file RField.hxx.

◆ Read() [2/2]

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

Definition at line 184 of file RField.hxx.

◆ Release()

template<typename T >
void * ROOT::Experimental::Detail::RFieldBase::RValue::Release ( )
inline

Definition at line 175 of file RField.hxx.

Friends And Related Symbol Documentation

◆ RFieldBase

friend class RFieldBase
friend

Definition at line 141 of file RField.hxx.

Member Data Documentation

◆ fField

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

The field that created the RValue.

Definition at line 144 of file RField.hxx.

◆ fIsOwning

bool ROOT::Experimental::Detail::RFieldBase::RValue::fIsOwning = false
private

If true, fObjPtr is destroyed in the destructor.

Definition at line 147 of file RField.hxx.

◆ fObjPtr

void* ROOT::Experimental::Detail::RFieldBase::RValue::fObjPtr = nullptr
private

Created by RFieldBase::GenerateValue() or a non-owning pointer from SplitValue() or BindValue()

Definition at line 146 of file RField.hxx.

Libraries for ROOT::Experimental::Detail::RFieldBase::RValue:

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