16#ifndef ROOT7_RPageNullSink
17#define ROOT7_RPageNullSink
25namespace Experimental {
54 for (
auto *
f : fields) {
56 for (
auto &descendant : *
f) {
57 connectField(descendant);
80 for (
auto &range : ranges) {
81 for (
auto sealedPageIt = range.fFirst; sealedPageIt != range.fLast; ++sealedPageIt) {
A column is a storage-backed array of a simple, fixed-size type, from which pages can be mapped into ...
Dummy sink that discards all pages.
void ConnectFields(const std::vector< RFieldBase * > &fields, NTupleSize_t firstEntry)
void CommitSuppressedColumn(ColumnHandle_t) final
Commits a suppressed column for the current cluster.
void CommitSealedPage(DescriptorId_t, const RSealedPage &page) final
Write a preprocessed page to storage. The column must have been added before.
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...
RPageNullSink(std::string_view ntupleName, const RNTupleWriteOptions &options)
void CommitDatasetImpl() final
void InitImpl(RNTupleModel &model) final
void CommitPage(ColumnHandle_t, const RPage &page) final
Write a page to the storage. The column must have been added before.
void UpdateSchema(const RNTupleModelChangeset &changeset, NTupleSize_t firstEntry) final
Incorporate incremental changes to the model into the ntuple descriptor.
void CommitStagedClusters(std::span< RStagedCluster >) final
Commit staged clusters, logically appending them to the ntuple descriptor.
RStagedCluster StageCluster(NTupleSize_t) final
Stage the current cluster and create a new one for the following data.
ColumnHandle_t AddColumn(DescriptorId_t, RColumn &column) final
Register a new column.
std::uint64_t fNBytesCurrentCluster
const RNTupleDescriptor & GetDescriptor() const final
Return the RNTupleDescriptor being constructed.
void UpdateExtraTypeInfo(const RExtraTypeInfoDescriptor &) final
Adds an extra type information record to schema.
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 meta-data of an ntuple.
The RNTupleModel encapulates the schema of an ntuple.
Common user-tunable settings for storing ntuples.
void CallConnectPageSinkOnField(RFieldBase &, RPageSink &, NTupleSize_t firstEntry=0)
RFieldZero & GetFieldZeroOfModel(RNTupleModel &model)
std::uint64_t NTupleSize_t
Integer type long enough to hold the maximum number of entries in a column.
std::uint64_t DescriptorId_t
Distriniguishes elements of the same type within a descriptor, e.g. different fields.
tbb::task_arena is an alias of tbb::interface7::task_arena, which doesn't allow to forward declare tb...
The incremental changes to a RNTupleModel
Cluster that was staged, but not yet logically appended to the RNTuple.
std::uint64_t fNBytesWritten
A sealed page contains the bytes of a page as written to storage (packed & compressed).