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

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

Definition at line 160 of file RNTupleProcessor.hxx.

Public Member Functions

void BindRawPtr (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.
 
void * GetRawPtr () const
 Get a non-owning 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

 RNTupleProcessorOptionalPtr (Internal::RNTupleProcessorEntry *processorEntry, Internal::RNTupleProcessorEntry::FieldIndex_t fieldIdx)
 

Private Attributes

Internal::RNTupleProcessorEntry::FieldIndex_t fFieldIndex
 
Internal::RNTupleProcessorEntryfProcessorEntry
 

Friends

class RNTupleProcessor
 

#include <ROOT/RNTupleProcessor.hxx>

Constructor & Destructor Documentation

◆ RNTupleProcessorOptionalPtr()

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

Definition at line 167 of file RNTupleProcessor.hxx.

Member Function Documentation

◆ BindRawPtr()

void ROOT::Experimental::RNTupleProcessorOptionalPtr< void >::BindRawPtr ( 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 RNTupleProcessorOptionalPtr, we strongly recommend only accessing its data through this interface, to ensure that only valid data can be read.

Definition at line 206 of file RNTupleProcessor.hxx.

◆ GetPtr()

std::shared_ptr< void > ROOT::Experimental::RNTupleProcessorOptionalPtr< 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 182 of file RNTupleProcessor.hxx.

◆ GetRawPtr()

void * ROOT::Experimental::RNTupleProcessorOptionalPtr< void >::GetRawPtr ( ) const
inline

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 194 of file RNTupleProcessor.hxx.

◆ HasValue()

bool ROOT::Experimental::RNTupleProcessorOptionalPtr< void >::HasValue ( ) const
inline

Check if the pointer currently holds a valid value.

Definition at line 176 of file RNTupleProcessor.hxx.

Friends And Related Symbol Documentation

◆ RNTupleProcessor

friend class RNTupleProcessor
friend

Definition at line 161 of file RNTupleProcessor.hxx.

Member Data Documentation

◆ fFieldIndex

◆ fProcessorEntry

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