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 159 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.
const void & operator* () const
 Get a reference to the field value managed by the processor's entry.
const void * operator-> () const
 Access the field value managed by the processor's entry.

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 166 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 205 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 181 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 193 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 175 of file RNTupleProcessor.hxx.

◆ operator*()

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

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

Throws an exception if the field is invalid in the processor's current entry.

Definition at line 128 of file RNTupleProcessor.hxx.

◆ operator->()

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

Access the field value managed by the processor's entry.

Throws an exception if the field is invalid in the processor's current entry.

Definition at line 141 of file RNTupleProcessor.hxx.

◆ RNTupleProcessor

friend class RNTupleProcessor
friend

Definition at line 160 of file RNTupleProcessor.hxx.

Member Data Documentation

◆ fFieldIndex

◆ fProcessorEntry


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