The REntry is a collection of values in an RNTuple corresponding to a complete row in the data set.
The entry provides a memory-managed binder for a set of values read from fields in an RNTuple. The memory locations that are associated with values are managed through shared pointers.
Definition at line 51 of file REntry.hxx.
Public Types | |
| using | ConstIterator_t = decltype(fValues)::const_iterator |
Public Member Functions | |
| REntry (const REntry &other)=delete | |
| REntry (REntry &&other)=default | |
| ~REntry ()=default | |
| ConstIterator_t | begin () const |
| template<typename T > | |
| void | BindRawPtr (ROOT::RFieldToken token, T *rawPtr) |
Bind the value for the field, referenced by token, to rawPtr. | |
| template<typename T > | |
| void | BindRawPtr (std::string_view fieldName, T *rawPtr) |
Bind the value for the field, referenced by its name, to rawPtr. | |
| template<typename T > | |
| void | BindValue (ROOT::RFieldToken token, std::shared_ptr< T > objPtr) |
Bind the value for the field, referenced by token, to objPtr. | |
| template<typename T > | |
| void | BindValue (std::string_view fieldName, std::shared_ptr< T > objPtr) |
Bind the value for the field, referenced by its name, to objPtr. | |
| void | EmplaceNewValue (ROOT::RFieldToken token) |
Create a new value for the field referenced by token. | |
| void | EmplaceNewValue (std::string_view fieldName) |
| Create a new value for the field referenced by its name. | |
| ConstIterator_t | end () const |
| std::uint64_t | GetModelId () const |
| template<typename T > | |
| std::shared_ptr< T > | GetPtr (ROOT::RFieldToken token) const |
Get the (typed) pointer to the value for the field referenced by token. | |
| template<typename T > | |
| std::shared_ptr< T > | GetPtr (std::string_view fieldName) const |
Get the (typed) pointer to the value for the field referenced by token. | |
| std::uint64_t | GetSchemaId () const |
| ROOT::RFieldToken | GetToken (std::string_view fieldName) const |
| The ordinal of the (sub)field fieldName; can be used in other methods to address the corresponding value. | |
| const std::string & | GetTypeName (ROOT::RFieldToken token) const |
| const std::string & | GetTypeName (std::string_view fieldName) const |
| bool | HasField (std::string_view fieldName) const |
| REntry & | operator= (const REntry &other)=delete |
| REntry & | operator= (REntry &&other)=default |
Private Member Functions | |
| REntry ()=default | |
| Creation of entries can be done by the RNTupleModel, the RNTupleReader, or the RNTupleWriter. | |
| REntry (std::uint64_t modelId, std::uint64_t schemaId) | |
| template<typename T > | |
| std::shared_ptr< T > | AddValue (ROOT::RField< T > &field) |
| While building the entry, adds a new value for the field and returns the value's shared pointer. | |
| void | AddValue (ROOT::RFieldBase::RValue &&value) |
| std::size_t | Append () |
| void | EnsureMatchingModel (ROOT::RFieldToken token) const |
| template<typename T > | |
| void | EnsureMatchingType (ROOT::RFieldToken token) const |
| const std::string & | FindFieldName (ROOT::RFieldToken token) const |
| This function has linear complexity, only use it for more helpful error messages! | |
| void | Read (ROOT::NTupleSize_t index) |
Private Attributes | |
| std::unordered_map< std::string, std::size_t > | fFieldName2Token |
| For fast lookup of token IDs given a (sub)field name present in the entry. | |
| std::vector< std::string > | fFieldTypes |
| To ensure that the entry is standalone, a copy of all field types. | |
| std::uint64_t | fModelId = 0 |
| The entry must be linked to a specific model, identified by a model ID. | |
| std::uint64_t | fSchemaId = 0 |
| The entry and its tokens are also linked to a specific schema, identified by a schema ID. | |
| std::vector< ROOT::RFieldBase::RValue > | fValues |
| Corresponds to the fields of the linked model. | |
Friends | |
| struct | Experimental::Internal::RNTupleAttrEntry |
| class | RNTupleFillContext |
| class | RNTupleModel |
| class | RNTupleReader |
#include <ROOT/REntry.hxx>
| using ROOT::REntry::ConstIterator_t = decltype(fValues)::const_iterator |
Definition at line 141 of file REntry.hxx.
|
privatedefault |
Creation of entries can be done by the RNTupleModel, the RNTupleReader, or the RNTupleWriter.
|
inlineexplicitprivate |
Definition at line 71 of file REntry.hxx.
|
default |
|
default |
|
inlineprivate |
While building the entry, adds a new value for the field and returns the value's shared pointer.
Definition at line 82 of file REntry.hxx.
|
inlineprivate |
Definition at line 73 of file REntry.hxx.
|
inlineprivate |
Definition at line 99 of file REntry.hxx.
|
inline |
Definition at line 253 of file REntry.hxx.
|
inline |
Bind the value for the field, referenced by token, to rawPtr.
Definition at line 197 of file REntry.hxx.
|
inline |
Bind the value for the field, referenced by its name, to rawPtr.
The caller retains ownership of the object and must ensure it is kept alive when reading or writing using the entry.
Note: if T = void, type checks are disabled. It is the caller's responsibility to match the field and object types.
Definition at line 212 of file REntry.hxx.
|
inline |
Bind the value for the field, referenced by token, to objPtr.
Definition at line 173 of file REntry.hxx.
|
inline |
Bind the value for the field, referenced by its name, to objPtr.
Ownership is shared with the caller and the object will be kept alive until it is replaced (by a call to EmplaceNewValue, BindValue, or BindRawPtr) or the entry is destructed.
Note: if T = void, type checks are disabled. It is the caller's responsibility to match the field and object types.
Definition at line 188 of file REntry.hxx.
|
inline |
Create a new value for the field referenced by token.
Definition at line 160 of file REntry.hxx.
|
inline |
Create a new value for the field referenced by its name.
Definition at line 167 of file REntry.hxx.
|
inline |
Definition at line 254 of file REntry.hxx.
|
inlineprivate |
Definition at line 108 of file REntry.hxx.
|
inlineprivate |
Definition at line 130 of file REntry.hxx.
|
inlineprivate |
This function has linear complexity, only use it for more helpful error messages!
Definition at line 117 of file REntry.hxx.
|
inline |
Definition at line 250 of file REntry.hxx.
|
inline |
Get the (typed) pointer to the value for the field referenced by token.
Definition at line 221 of file REntry.hxx.
|
inline |
Get the (typed) pointer to the value for the field referenced by token.
Ownership is shared and the caller can continue to use the object after the entry is destructed.
Note: if T = void, type checks are disabled. It is the caller's responsibility to use the returned pointer according to the field type.
Definition at line 235 of file REntry.hxx.
|
inline |
Definition at line 251 of file REntry.hxx.
|
inline |
The ordinal of the (sub)field fieldName; can be used in other methods to address the corresponding value.
Definition at line 150 of file REntry.hxx.
|
inline |
Definition at line 240 of file REntry.hxx.
|
inline |
Definition at line 246 of file REntry.hxx.
|
inline |
Definition at line 248 of file REntry.hxx.
|
inlineprivate |
Definition at line 92 of file REntry.hxx.
|
friend |
Definition at line 55 of file REntry.hxx.
|
friend |
Definition at line 52 of file REntry.hxx.
|
friend |
Definition at line 53 of file REntry.hxx.
|
friend |
Definition at line 54 of file REntry.hxx.
|
private |
For fast lookup of token IDs given a (sub)field name present in the entry.
Definition at line 65 of file REntry.hxx.
|
private |
To ensure that the entry is standalone, a copy of all field types.
Definition at line 67 of file REntry.hxx.
|
private |
The entry must be linked to a specific model, identified by a model ID.
Definition at line 59 of file REntry.hxx.
|
private |
The entry and its tokens are also linked to a specific schema, identified by a schema ID.
Definition at line 61 of file REntry.hxx.
|
private |
Corresponds to the fields of the linked model.
Definition at line 63 of file REntry.hxx.