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 755 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
struct ROOT::Experimental::Internal::RNTupleAttrEntry
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 766 of file RFieldBase.hxx.

◆ RValue() [2/3]

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

Definition at line 769 of file RFieldBase.hxx.

◆ RValue() [3/3]

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

Definition at line 778 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 811 of file RFieldBase.hxx.

◆ Bind()

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

Definition at line 817 of file RFieldBase.hxx.

◆ BindRawPtr()

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

Definition at line 115 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 820 of file RFieldBase.hxx.

◆ EnsureMatchingType()

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

Definition at line 791 of file RFieldBase.hxx.

◆ GetField()

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

Definition at line 836 of file RFieldBase.hxx.

◆ GetPtr()

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

Definition at line 823 of file RFieldBase.hxx.

◆ GetRef()

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

Definition at line 830 of file RFieldBase.hxx.

◆ operator=() [1/2]

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

Definition at line 770 of file RFieldBase.hxx.

◆ operator=() [2/2]

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

Definition at line 779 of file RFieldBase.hxx.

◆ Read() [1/2]

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

Definition at line 815 of file RFieldBase.hxx.

◆ Read() [2/2]

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

Definition at line 814 of file RFieldBase.hxx.

◆ RFieldBase

friend class RFieldBase
friend

Definition at line 756 of file RFieldBase.hxx.

◆ ROOT::Experimental::Internal::RNTupleAttrEntry

Definition at line 758 of file RFieldBase.hxx.

◆ ROOT::REntry

friend class ROOT::REntry
friend

Definition at line 757 of file RFieldBase.hxx.

Member Data Documentation

◆ fField

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

The field that created the RValue.

Definition at line 761 of file RFieldBase.hxx.

◆ fObjPtr

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

Set by Bind() or by RFieldBase::CreateValue(), RFieldBase::SplitValue() or RFieldBase::BindValue().

Definition at line 763 of file RFieldBase.hxx.

◆ fTypeInfo

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

Definition at line 764 of file RFieldBase.hxx.


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