Collection of values in an RNTupleProcessor, analogous to REntry, with checks and support for missing values.
Definition at line 91 of file RNTupleProcessorEntry.hxx.
Classes | |
| struct | RProcessorValue |
Public Types | |
| using | FieldIndex_t = std::uint64_t |
Public Member Functions | |
| FieldIndex_t | AddField (std::string_view fieldName, ROOT::RFieldBase &field, void *valuePtr, const RNTupleProcessorProvenance &provenance) |
| Add a new field to the entry. | |
| void | BindRawPtr (FieldIndex_t fieldIdx, void *valuePtr) |
| Bind a new value pointer to a field in the entry. | |
| std::optional< FieldIndex_t > | FindFieldIndex (std::string_view fieldName) const |
| Find the field index of the provided field in the entry. | |
| const std::string & | FindFieldName (FieldIndex_t fieldIdx) const |
| Find the name of a field from its field index. | |
| const ROOT::RFieldBase & | GetField (FieldIndex_t fieldIdx) const |
| Get a reference to a field in the entry. | |
| std::unordered_set< FieldIndex_t > | GetFieldIndices () const |
| Get all field indices of this entry. | |
| std::string | GetFieldName (FieldIndex_t fieldIdx) const |
| Get the name of a field in the entry, including processor name prefixes in the case of auxiliary fields. | |
| const RNTupleProcessorProvenance & | GetFieldProvenance (FieldIndex_t fieldIdx) const |
| Get the processor provenance of a field in the entry. | |
| template<typename T> | |
| std::shared_ptr< T > | GetPtr (FieldIndex_t fieldIdx) const |
| Get a pointer to the value for the field represented by the provided field index. | |
| bool | IsValidField (FieldIndex_t fieldIdx) const |
| Check whether a field is valid for reading. | |
| void | ReadValue (FieldIndex_t fieldIdx, ROOT::NTupleSize_t entryIdx) |
| Read the field value corresponding to the given field index for the provided entry index. | |
| void | SetFieldValidity (FieldIndex_t fieldIdx, bool isValid) |
| Set the validity of a field, i.e. | |
| void | UpdateField (FieldIndex_t fieldIdx, ROOT::RFieldBase &field) |
| Update a field in the entry, preserving the value pointer. | |
Private Attributes | |
| std::unordered_map< std::string, FieldIndex_t > | fFieldName2Index |
| std::vector< RProcessorValue > | fProcessorValues |
| using ROOT::Experimental::Internal::RNTupleProcessorEntry::FieldIndex_t = std::uint64_t |
Definition at line 95 of file RNTupleProcessorEntry.hxx.
|
inline |
Add a new field to the entry.
| [in] | fieldName | Name of the field to add. |
| [in] | field | Reference to the field to add, used to to create its corresponding RValue. |
| [in] | valuePtr | Pointer to an object corresponding to the field's type to bind to its value. If this is a nullptr, a pointer will be created. |
| [in] | provenance | Processor provenance of the field. |
Definition at line 180 of file RNTupleProcessorEntry.hxx.
|
inline |
Bind a new value pointer to a field in the entry.
| [in] | fieldIdx | The index of the field in the entry. |
| [in] | valuePtr | Pointer to the value to bind to the field. |
Definition at line 217 of file RNTupleProcessorEntry.hxx.
|
inline |
Find the field index of the provided field in the entry.
| [in] | fieldName | The name of the field in the entry. |
Definition at line 161 of file RNTupleProcessorEntry.hxx.
|
inline |
Find the name of a field from its field index.
| [in] | fieldIdx | The index of the field in the entry. |
Definition at line 140 of file RNTupleProcessorEntry.hxx.
|
inline |
Get a reference to a field in the entry.
| [in] | fieldIdx | The index of the field in the entry. |
Definition at line 260 of file RNTupleProcessorEntry.hxx.
|
inline |
Get all field indices of this entry.
Definition at line 289 of file RNTupleProcessorEntry.hxx.
|
inline |
Get the name of a field in the entry, including processor name prefixes in the case of auxiliary fields.
| [in] | fieldIdx | The index of the field in the entry. |
Definition at line 280 of file RNTupleProcessorEntry.hxx.
|
inline |
Get the processor provenance of a field in the entry.
| [in] | fieldIdx | The index of the field in the entry. |
Definition at line 270 of file RNTupleProcessorEntry.hxx.
|
inline |
Get a pointer to the value for the field represented by the provided field index.
| T | The type of the pointer. |
| [in] | fieldIdx | The index of the field in the entry. |
Definition at line 246 of file RNTupleProcessorEntry.hxx.
|
inline |
Check whether a field is valid for reading.
| [in] | fieldIdx | The index of the field in the entry. |
Definition at line 128 of file RNTupleProcessorEntry.hxx.
|
inline |
Read the field value corresponding to the given field index for the provided entry index.
| [in] | fieldIdx | The index of the field in the entry. |
| [in] | entryIdx | The entry number to read. |
Definition at line 228 of file RNTupleProcessorEntry.hxx.
|
inline |
Set the validity of a field, i.e.
whether it is possible to read its value in the current entry.
| [in] | fieldIdx | The index of the field in the entry. |
| [in] | isValid | The new validity of the field. |
Definition at line 118 of file RNTupleProcessorEntry.hxx.
|
inline |
Update a field in the entry, preserving the value pointer.
| [in] | fieldIdx | Index of the field to update. |
| [in] | field | The new field to use in the entry. |
Definition at line 202 of file RNTupleProcessorEntry.hxx.
|
private |
Definition at line 110 of file RNTupleProcessorEntry.hxx.
|
private |
Definition at line 109 of file RNTupleProcessorEntry.hxx.