27 : fType(
type), fIndex(columnIndex), fRepresentationIndex(representationIndex), fTeam({
this})
44 throw RException(
R__FAIL(
"initial page size is too small for at least one element"));
63 auto descriptorGuard =
fPageSource->GetSharedDescriptorGuard();
86 const auto nTeam =
fTeam.size();
87 std::size_t iTeam = 1;
94 }
while (iTeam <= nTeam);
101 const auto nTeam =
fTeam.size();
102 std::size_t iTeam = 1;
109 }
while (iTeam <= nTeam);
117 for (
auto *
c : other.
fTeam) {
#define R__FAIL(msg)
Short-hand to return an RResult<T> in an error state; the RError is implicitly converted into RResult...
#define R__ASSERT(e)
Checks condition e and reports a fatal error if it's false.
The available trivial, native content types of a column.
RColumn(ROOT::ENTupleColumnType type, std::uint32_t columnIndex, std::uint16_t representationIndex)
void MergeTeams(RColumn &other)
std::vector< RColumn * > fTeam
The column team is a set of columns that serve the same column index for different representation IDs...
std::size_t fLastGoodTeamIdx
Points into fTeam to the column that successfully returned the last page.
void ConnectPageSource(ROOT::DescriptorId_t fieldId, ROOT::Internal::RPageSource &pageSource)
Connect the column to a page source.
ROOT::Internal::RPageSource * fPageSource
ROOT::Internal::RPageRef fReadPageRef
The currently mapped page for reading.
ROOT::Internal::RPage fWritePage
The page into which new elements are being written.
ROOT::Internal::RPageSink * fPageSink
ROOT::DescriptorId_t fOnDiskId
The column id in the column descriptor, once connected to a sink or source.
bool TryMapPage(ROOT::NTupleSize_t globalIndex)
ROOT::Internal::RPageStorage::ColumnHandle_t fHandleSink
ROOT::NTupleSize_t fFirstElementIndex
Global index of the first element in this column; usually == 0, unless it is a deferred column.
ROOT::NTupleSize_t fNElements
The number of elements written resp. available in the column.
void ConnectPageSink(ROOT::DescriptorId_t fieldId, ROOT::Internal::RPageSink &pageSink, ROOT::NTupleSize_t firstElementIndex=0U)
Connect the column to a page sink.
ROOT::Internal::RPageStorage::ColumnHandle_t fHandleSource
std::unique_ptr< ROOT::Internal::RColumnElementBase > fElement
Used to pack and unpack pages on writing/reading.
ROOT::NTupleSize_t fInitialNElements
The initial number of elements in a page.
Abstract interface to write data into an ntuple.
const ROOT::RNTupleWriteOptions & GetWriteOptions() const
Returns the sink's write options.
Abstract interface to read data from an ntuple.
Base class for all ROOT issued exceptions.
Addresses a column element or field item relative to a particular cluster, instead of a global NTuple...
std::size_t GetInitialUnzippedPageSize() const
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.