16#ifndef ROOT_RPageNullSink
17#define ROOT_RPageNullSink
25namespace Experimental {
92 for (
auto &
range : ranges) {
ROOT::Detail::TRangeCast< T, true > TRangeDynCast
TRangeDynCast is an adapter class that allows the typed iteration through a TCollection.
Dummy sink that discards all pages.
void CommitSuppressedColumn(ColumnHandle_t) final
Commits a suppressed column for the current cluster.
void UpdateSchema(const ROOT::Internal::RNTupleModelChangeset &changeset, ROOT::NTupleSize_t firstEntry) final
Incorporate incremental changes to the model into the ntuple descriptor.
ROOT::NTupleSize_t GetNEntries() const final
void CommitClusterGroup() final
Write out the page locations (page list envelope) for all the committed clusters since the last call ...
void CommitSealedPageV(std::span< RSealedPageGroup > ranges) final
Write a vector of preprocessed pages to storage. The corresponding columns must have been added befor...
void InitImpl(ROOT::RNTupleModel &model) final
void CommitDatasetImpl() final
void UpdateExtraTypeInfo(const ROOT::RExtraTypeInfoDescriptor &) final
Adds an extra type information record to schema.
const ROOT::RNTupleDescriptor & GetDescriptor() const final
Return the RNTupleDescriptor being constructed.
RStagedCluster StageCluster(ROOT::NTupleSize_t) final
Stage the current cluster and create a new one for the following data.
void CommitStagedClusters(std::span< RStagedCluster >) final
Commit staged clusters, logically appending them to the ntuple descriptor.
void CommitSealedPage(ROOT::DescriptorId_t, const RSealedPage &page) final
Write a preprocessed page to storage. The column must have been added before.
void CommitPage(ColumnHandle_t, const ROOT::Internal::RPage &page) final
Write a page to the storage. The column must have been added before.
RPageNullSink(std::string_view ntupleName, const ROOT::RNTupleWriteOptions &options)
ColumnHandle_t AddColumn(ROOT::DescriptorId_t, ROOT::Internal::RColumn &column) final
Register a new column.
void ConnectFields(const std::vector< ROOT::RFieldBase * > &fields, ROOT::NTupleSize_t firstEntry)
std::uint64_t fNBytesCurrentCluster
ROOT::DescriptorId_t fNColumns
A column is a storage-backed array of a simple, fixed-size type, from which pages can be mapped into ...
Abstract interface to write data into an ntuple.
A page is a slice of a column that is mapped into memory.
A field translates read and write calls from/to underlying columns to/from tree values.
The on-storage metadata of an RNTuple.
The RNTupleModel encapulates the schema of an RNTuple.
Common user-tunable settings for storing RNTuples.
ROOT::RFieldZero & GetFieldZeroOfModel(RNTupleModel &model)
void CallConnectPageSinkOnField(RFieldBase &, ROOT::Internal::RPageSink &, ROOT::NTupleSize_t firstEntry=0)
tbb::task_arena is an alias of tbb::interface7::task_arena, which doesn't allow to forward declare tb...
std::uint64_t DescriptorId_t
Distriniguishes elements of the same type within a descriptor, e.g. different fields.
std::uint64_t NTupleSize_t
Integer type long enough to hold the maximum number of entries in a column.
The incremental changes to a RNTupleModel
Cluster that was staged, but not yet logically appended to the RNTuple.
A sealed page contains the bytes of a page as written to storage (packed & compressed).