16#ifndef ROOT_RRawPtrWriteEntry
17#define ROOT_RRawPtrWriteEntry
24#include <unordered_map>
31namespace Experimental {
33class RNTupleFillContext;
75 for (std::size_t i = 0; i <
fFields.size(); i++) {
85 "make sure to use a token from a model with the same schema as this entry."));
106 template <
typename T>
113 template <
typename T>
#define R__FAIL(msg)
Short-hand to return an RResult<T> in an error state; the RError is implicitly converted into RResult...
ROOT::Detail::TRangeCast< T, true > TRangeDynCast
TRangeDynCast is an adapter class that allows the typed iteration through a TCollection.
A container of const raw pointers, corresponding to a row in the data set.
RRawPtrWriteEntry & operator=(const RRawPtrWriteEntry &other)=delete
void AddField(ROOT::RFieldBase &field)
std::unordered_map< std::string, std::size_t > fFieldName2Token
For fast lookup of token IDs given a (sub)field name present in the entry.
void BindRawPtr(std::string_view fieldName, const T *rawPtr)
std::uint64_t GetSchemaId() const
std::uint64_t fModelId
The entry must be linked to a specific model, identified by a model ID.
RRawPtrWriteEntry(const RRawPtrWriteEntry &other)=delete
RRawPtrWriteEntry(std::uint64_t modelId, std::uint64_t schemaId)
std::vector< ROOT::RFieldBase * > fFields
Corresponds to the fields of the linked model.
std::uint64_t fSchemaId
The entry and its tokens are also linked to a specific schema, identified by a schema ID.
std::vector< const void * > fRawPtrs
The raw pointers corresponding to the fields.
void EnsureMatchingModel(RFieldToken token) const
RRawPtrWriteEntry(RRawPtrWriteEntry &&other)=default
~RRawPtrWriteEntry()=default
void BindRawPtr(RFieldToken token, const T *rawPtr)
RRawPtrWriteEntry & operator=(RRawPtrWriteEntry &&other)=default
RFieldToken GetToken(std::string_view fieldName) const
The ordinal of the (sub)field fieldName; can be used in other methods to address the corresponding va...
std::uint64_t GetModelId() const
A context for filling entries (data) into clusters of an RNTuple.
Base class for all ROOT issued exceptions.
A field translates read and write calls from/to underlying columns to/from tree values.
A field token identifies a (sub)field in an entry.
The RNTupleModel encapulates the schema of an RNTuple.
tbb::task_arena is an alias of tbb::interface7::task_arena, which doesn't allow to forward declare tb...