Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
ROOT::RNTupleProcessorValuePtr< void > Class Reference

Specialization of RNTupleProcessorValuePtr<T> for void-type pointers.

Definition at line 184 of file RNTupleProcessor.hxx.

Public Member Functions

void Bind (std::shared_ptr< void > valuePtr)
 Bind the value to valuePtr.
 
std::shared_ptr< void > GetPtr () const
 Get the pointer to the field value managed by the processor's entry.
 
bool HasValue () const
 Check if the pointer currently holds a valid value.
 

Private Member Functions

 RNTupleProcessorValuePtr (ROOT::Internal::RNTupleProcessorEntry *processorEntry, ROOT::Internal::RNTupleProcessorEntry::FieldIndex_t fieldIdx)
 
void BindRawPtr (void *valuePtr)
 Bind the value to valuePtr.
 
void * GetRawPtr () const
 Get a non-owning pointer to the field value managed by the processor's entry.
 

Private Attributes

ROOT::Internal::RNTupleProcessorEntry::FieldIndex_t fFieldIndex
 
ROOT::Internal::RNTupleProcessorEntry * fProcessorEntry
 

Friends

bool operator== (const RNTupleProcessorValuePtr< void > &lhs, const RNTupleProcessorValuePtr< void > &rhs)
 
class RNTupleProcessor
 

#include <ROOT/RNTupleProcessor.hxx>

Constructor & Destructor Documentation

◆ RNTupleProcessorValuePtr()

ROOT::RNTupleProcessorValuePtr< void >::RNTupleProcessorValuePtr ( ROOT::Internal::RNTupleProcessorEntry * processorEntry,
ROOT::Internal::RNTupleProcessorEntry::FieldIndex_t fieldIdx )
inlineprivate

Definition at line 191 of file RNTupleProcessor.hxx.

Member Function Documentation

◆ Bind()

void ROOT::RNTupleProcessorValuePtr< void >::Bind ( std::shared_ptr< void > valuePtr)
inline

Bind the value to valuePtr.

Parameters
[in]valuePtrPointer to bind the value to.
Warning
Use this function with care! Values may not always be valid for every entry during processing, for example when a field is not present in one of the chained processors or when during a join operation, no matching entry in the auxiliary processor can be found. Reading valuePtr as-is therefore comes with the risk of reading invalid data. After binding a pointer to an RNTupleProcessorValuePtr, we strongly recommend only accessing its data through this interface, to ensure that only valid data can be read.

Definition at line 244 of file RNTupleProcessor.hxx.

◆ BindRawPtr()

void ROOT::RNTupleProcessorValuePtr< void >::BindRawPtr ( void * valuePtr)
inlineprivate

Bind the value to valuePtr.

Parameters
[in]valuePtrPointer to bind the value to.
Warning
Use this function with care! Values may not always be valid for every entry during processing, for example when a field is not present in one of the chained processors or when during a join operation, no matching entry in the auxiliary processor can be found. Reading valuePtr as-is therefore comes with the risk of reading invalid data. After binding a pointer to an RNTupleProcessorValuePtr, we strongly recommend only accessing its data through this interface, to ensure that only valid data can be read.

Definition at line 213 of file RNTupleProcessor.hxx.

◆ GetPtr()

std::shared_ptr< void > ROOT::RNTupleProcessorValuePtr< void >::GetPtr ( ) const
inline

Get the pointer to the field value managed by the processor's entry.

Returns
A std::shared_ptr<void> if the field is valid in the current entry, or a nullptr otherwise.

Definition at line 224 of file RNTupleProcessor.hxx.

◆ GetRawPtr()

void * ROOT::RNTupleProcessorValuePtr< void >::GetRawPtr ( ) const
inlineprivate

Get a non-owning pointer to the field value managed by the processor's entry.

Returns
A void* if the field is valid in the current entry, or a nullptr otherwise.

Definition at line 201 of file RNTupleProcessor.hxx.

◆ HasValue()

bool ROOT::RNTupleProcessorValuePtr< void >::HasValue ( ) const
inline

Check if the pointer currently holds a valid value.

Definition at line 218 of file RNTupleProcessor.hxx.

Friends And Related Symbol Documentation

◆ operator==

bool operator== ( const RNTupleProcessorValuePtr< void > & lhs,
const RNTupleProcessorValuePtr< void > & rhs )
friend

Definition at line 246 of file RNTupleProcessor.hxx.

◆ RNTupleProcessor

friend class RNTupleProcessor
friend

Definition at line 185 of file RNTupleProcessor.hxx.

Member Data Documentation

◆ fFieldIndex

◆ fProcessorEntry

Definition at line 188 of file RNTupleProcessor.hxx.

  • tree/ntuple/inc/ROOT/RNTupleProcessor.hxx