Collection of values in an RNTupleProcessor, analogous to REntry, with checks and support for missing values.
Definition at line 90 of file RNTupleProcessorEntry.hxx.
Classes | |
| struct | RProcessorValue |
Public Types | |
| using | FieldIndex_t = std::uint64_t |
Public Member Functions | |
| FieldIndex_t | AddField (const std::string &qualifiedFieldName, std::unique_ptr< ROOT::RFieldBase > field, void *valuePtr, const RNTupleProcessorProvenance &provenance) |
| Add a new field to the entry. | |
| void | Bind (FieldIndex_t fieldIdx, std::shared_ptr< void > valuePtr) |
| Bind a new value pointer to a field in the entry. | |
| void | BindRawPtr (FieldIndex_t fieldIdx, void *valuePtr) |
| Bind a new value pointer to a field in the entry. | |
| void | Clear () |
| Clear all fields from the entry. | |
| std::optional< FieldIndex_t > | FindFieldIndex (std::string_view canonicalFieldName, std::string_view typeName) 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. | |
| std::unordered_set< FieldIndex_t > | GetFieldIndices () const |
| Get all field indices of this entry. | |
| const RNTupleProcessorProvenance & | GetFieldProvenance (FieldIndex_t fieldIdx) const |
| Get the processor provenance of a field in the entry. | |
| std::string | GetQualifiedFieldName (FieldIndex_t fieldIdx) const |
| Get the name of a field in the entry, including its parent fields. | |
| const ROOT::RFieldBase::RValue & | GetValue (FieldIndex_t fieldIdx) const |
| 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 | ResetFields (const std::unordered_set< FieldIndex_t > &fieldIdxs) |
| Reset the specified fields to a proto field, disconnected from any physical storage. | |
| void | SetFieldValidity (FieldIndex_t fieldIdx, bool isValid) |
| Set the validity of a field, i.e. | |
| void | UpdateField (FieldIndex_t fieldIdx, std::unique_ptr< ROOT::RFieldBase > field) |
| Update a field in the entry, preserving the value pointer. | |
Private Attributes | |
| std::unordered_map< std::string, std::vector< FieldIndex_t > > | fFieldName2Index |
| std::vector< RProcessorValue > | fProcessorValues |
#include <ROOT/RNTupleProcessorEntry.hxx>
| using ROOT::Experimental::Internal::RNTupleProcessorEntry::FieldIndex_t = std::uint64_t |
Definition at line 94 of file RNTupleProcessorEntry.hxx.
| ROOT::Experimental::Internal::RNTupleProcessorEntry::FieldIndex_t ROOT::Experimental::Internal::RNTupleProcessorEntry::AddField | ( | const std::string & | qualifiedFieldName, |
| std::unique_ptr< ROOT::RFieldBase > | field, | ||
| void * | valuePtr, | ||
| const RNTupleProcessorProvenance & | provenance ) |
Add a new field to the entry.
| [in] | qualifiedFieldName | Name of the field to add, including its parent field if applicable. |
| [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 55 of file RNTupleProcessorEntry.cxx.
| void ROOT::Experimental::Internal::RNTupleProcessorEntry::Bind | ( | FieldIndex_t | fieldIdx, |
| std::shared_ptr< void > | valuePtr ) |
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 104 of file RNTupleProcessorEntry.cxx.
| void ROOT::Experimental::Internal::RNTupleProcessorEntry::BindRawPtr | ( | FieldIndex_t | fieldIdx, |
| void * | valuePtr ) |
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 98 of file RNTupleProcessorEntry.cxx.
|
inline |
Clear all fields from the entry.
Definition at line 122 of file RNTupleProcessorEntry.hxx.
| std::optional< ROOT::Experimental::Internal::RNTupleProcessorEntry::FieldIndex_t > ROOT::Experimental::Internal::RNTupleProcessorEntry::FindFieldIndex | ( | std::string_view | canonicalFieldName, |
| std::string_view | typeName ) const |
Find the field index of the provided field in the entry.
| [in] | canonicalFieldName | The name of the field in the entry, including its processor name prefixes and parent field names, if applicable. |
std::optional containing the field index if it was found. Definition at line 34 of file RNTupleProcessorEntry.cxx.
| const std::string & ROOT::Experimental::Internal::RNTupleProcessorEntry::FindFieldName | ( | FieldIndex_t | fieldIdx | ) | const |
Find the name of a field from its field index.
| [in] | fieldIdx | The index of the field in the entry. |
Definition at line 18 of file RNTupleProcessorEntry.cxx.
| std::unordered_set< ROOT::Experimental::Internal::RNTupleProcessorEntry::FieldIndex_t > ROOT::Experimental::Internal::RNTupleProcessorEntry::GetFieldIndices | ( | ) | const |
Get all field indices of this entry.
Definition at line 120 of file RNTupleProcessorEntry.cxx.
|
inline |
Get the processor provenance of a field in the entry.
| [in] | fieldIdx | The index of the field in the entry. |
Definition at line 229 of file RNTupleProcessorEntry.hxx.
|
inline |
Get the name of a field in the entry, including its parent fields.
| [in] | fieldIdx | The index of the field in the entry. |
Definition at line 239 of file RNTupleProcessorEntry.hxx.
|
inline |
Definition at line 219 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 155 of file RNTupleProcessorEntry.hxx.
| void ROOT::Experimental::Internal::RNTupleProcessorEntry::ReadValue | ( | FieldIndex_t | fieldIdx, |
| ROOT::NTupleSize_t | entryIdx ) |
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 110 of file RNTupleProcessorEntry.cxx.
|
inline |
Reset the specified fields to a proto field, disconnected from any physical storage.
| [in] | fieldIdx | Fields to reset. |
Definition at line 132 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 145 of file RNTupleProcessorEntry.hxx.
| void ROOT::Experimental::Internal::RNTupleProcessorEntry::UpdateField | ( | FieldIndex_t | fieldIdx, |
| std::unique_ptr< ROOT::RFieldBase > | field ) |
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 79 of file RNTupleProcessorEntry.cxx.
|
private |
Definition at line 117 of file RNTupleProcessorEntry.hxx.
|
private |
Definition at line 115 of file RNTupleProcessorEntry.hxx.