Logo ROOT  
Reference Guide
ROOT::Experimental::Detail::RColumn Class Reference

Definition at line 44 of file RColumn.hxx.

Public Member Functions

 RColumn (const RColumn &)=delete
 
 ~RColumn ()
 
void Append (const RColumnElementBase &element)
 
void AppendV (const RColumnElementBase &elemArray, std::size_t count)
 
void Connect (DescriptorId_t fieldId, RPageStorage *pageStorage)
 
void Flush ()
 
RClusterIndex GetClusterIndex (NTupleSize_t globalIndex)
 
void GetCollectionInfo (const NTupleSize_t globalIndex, RClusterIndex *collectionStart, ClusterSize_t *collectionSize)
 For offset columns only, look at the two adjacent values that define a collection's coordinates. More...
 
void GetCollectionInfo (const RClusterIndex &clusterIndex, RClusterIndex *collectionStart, ClusterSize_t *collectionSize)
 
ColumnId_t GetColumnIdSource () const
 
RColumnElementBaseGetElement () const
 
NTupleSize_t GetGlobalIndex (const RClusterIndex &clusterIndex)
 
RPageStorage::ColumnHandle_t GetHandleSink () const
 
RPageStorage::ColumnHandle_t GetHandleSource () const
 
std::uint32_t GetIndex () const
 
const RColumnModelGetModel () const
 
NTupleSize_t GetNElements () const
 
RPageSourceGetPageSource () const
 
void GetSwitchInfo (NTupleSize_t globalIndex, RClusterIndex *varIndex, std::uint32_t *tag)
 Get the currently active cluster id. More...
 
RNTupleVersion GetVersion () const
 
template<typename CppT , EColumnType ColumnT>
CppT * Map (const NTupleSize_t globalIndex)
 
template<typename CppT , EColumnType ColumnT>
CppT * Map (const RClusterIndex &clusterIndex)
 
void MapPage (const NTupleSize_t index)
 
void MapPage (const RClusterIndex &clusterIndex)
 
RColumnoperator= (const RColumn &)=delete
 
void Read (const NTupleSize_t globalIndex, RColumnElementBase *element)
 
void Read (const RClusterIndex &clusterIndex, RColumnElementBase *element)
 
void ReadV (const NTupleSize_t globalIndex, const ClusterSize_t::ValueType count, RColumnElementBase *elemArray)
 
void ReadV (const RClusterIndex &clusterIndex, const ClusterSize_t::ValueType count, RColumnElementBase *elemArray)
 

Static Public Member Functions

template<typename CppT , EColumnType ColumnT>
static RColumnCreate (const RColumnModel &model, std::uint32_t index)
 

Private Member Functions

 RColumn (const RColumnModel &model, std::uint32_t index)
 

Private Attributes

ColumnId_t fColumnIdSource
 The column id is used to find matching pages with content when reading. More...
 
RPage fCurrentPage
 The currently mapped page for reading. More...
 
std::unique_ptr< RColumnElementBasefElement
 Used to pack and unpack pages on writing/reading. More...
 
RPageStorage::ColumnHandle_t fHandleSink
 
RPageStorage::ColumnHandle_t fHandleSource
 
RPage fHeadPage
 Open page into which new elements are being written. More...
 
std::uint32_t fIndex
 Columns belonging to the same field are distinguished by their order. More...
 
RColumnModel fModel
 
NTupleSize_t fNElements
 The number of elements written resp. available in the column. More...
 
RPageSinkfPageSink
 
RPageSourcefPageSource
 

#include <ROOT/RColumn.hxx>

Constructor & Destructor Documentation

◆ RColumn() [1/2]

ROOT::Experimental::Detail::RColumn::RColumn ( const RColumnModel model,
std::uint32_t  index 
)
private

Definition at line 24 of file RColumn.cxx.

◆ RColumn() [2/2]

ROOT::Experimental::Detail::RColumn::RColumn ( const RColumn )
delete

◆ ~RColumn()

ROOT::Experimental::Detail::RColumn::~RColumn ( )

Definition at line 31 of file RColumn.cxx.

Member Function Documentation

◆ Append()

void ROOT::Experimental::Detail::RColumn::Append ( const RColumnElementBase element)
inline

Definition at line 84 of file RColumn.hxx.

◆ AppendV()

void ROOT::Experimental::Detail::RColumn::AppendV ( const RColumnElementBase elemArray,
std::size_t  count 
)
inline

Definition at line 95 of file RColumn.hxx.

◆ Connect()

void ROOT::Experimental::Detail::RColumn::Connect ( DescriptorId_t  fieldId,
RPageStorage pageStorage 
)

Definition at line 39 of file RColumn.cxx.

◆ Create()

template<typename CppT , EColumnType ColumnT>
static RColumn * ROOT::Experimental::Detail::RColumn::Create ( const RColumnModel model,
std::uint32_t  index 
)
inlinestatic

Definition at line 71 of file RColumn.hxx.

◆ Flush()

void ROOT::Experimental::Detail::RColumn::Flush ( )

Definition at line 58 of file RColumn.cxx.

◆ GetClusterIndex()

RClusterIndex ROOT::Experimental::Detail::RColumn::GetClusterIndex ( NTupleSize_t  globalIndex)
inline

Definition at line 187 of file RColumn.hxx.

◆ GetCollectionInfo() [1/2]

void ROOT::Experimental::Detail::RColumn::GetCollectionInfo ( const NTupleSize_t  globalIndex,
RClusterIndex collectionStart,
ClusterSize_t collectionSize 
)
inline

For offset columns only, look at the two adjacent values that define a collection's coordinates.

Definition at line 196 of file RColumn.hxx.

◆ GetCollectionInfo() [2/2]

void ROOT::Experimental::Detail::RColumn::GetCollectionInfo ( const RClusterIndex clusterIndex,
RClusterIndex collectionStart,
ClusterSize_t collectionSize 
)
inline

Definition at line 209 of file RColumn.hxx.

◆ GetColumnIdSource()

ColumnId_t ROOT::Experimental::Detail::RColumn::GetColumnIdSource ( ) const
inline

Definition at line 233 of file RColumn.hxx.

◆ GetElement()

RColumnElementBase * ROOT::Experimental::Detail::RColumn::GetElement ( ) const
inline

Definition at line 230 of file RColumn.hxx.

◆ GetGlobalIndex()

NTupleSize_t ROOT::Experimental::Detail::RColumn::GetGlobalIndex ( const RClusterIndex clusterIndex)
inline

Definition at line 180 of file RColumn.hxx.

◆ GetHandleSink()

RPageStorage::ColumnHandle_t ROOT::Experimental::Detail::RColumn::GetHandleSink ( ) const
inline

Definition at line 236 of file RColumn.hxx.

◆ GetHandleSource()

RPageStorage::ColumnHandle_t ROOT::Experimental::Detail::RColumn::GetHandleSource ( ) const
inline

Definition at line 235 of file RColumn.hxx.

◆ GetIndex()

std::uint32_t ROOT::Experimental::Detail::RColumn::GetIndex ( ) const
inline

Definition at line 232 of file RColumn.hxx.

◆ GetModel()

const RColumnModel & ROOT::Experimental::Detail::RColumn::GetModel ( ) const
inline

Definition at line 231 of file RColumn.hxx.

◆ GetNElements()

NTupleSize_t ROOT::Experimental::Detail::RColumn::GetNElements ( ) const
inline

Definition at line 229 of file RColumn.hxx.

◆ GetPageSource()

RPageSource * ROOT::Experimental::Detail::RColumn::GetPageSource ( ) const
inline

Definition at line 234 of file RColumn.hxx.

◆ GetSwitchInfo()

void ROOT::Experimental::Detail::RColumn::GetSwitchInfo ( NTupleSize_t  globalIndex,
RClusterIndex varIndex,
std::uint32_t *  tag 
)
inline

Get the currently active cluster id.

Definition at line 220 of file RColumn.hxx.

◆ GetVersion()

RNTupleVersion ROOT::Experimental::Detail::RColumn::GetVersion ( ) const
inline

Definition at line 237 of file RColumn.hxx.

◆ Map() [1/2]

template<typename CppT , EColumnType ColumnT>
CppT * ROOT::Experimental::Detail::RColumn::Map ( const NTupleSize_t  globalIndex)
inline

Definition at line 161 of file RColumn.hxx.

◆ Map() [2/2]

template<typename CppT , EColumnType ColumnT>
CppT * ROOT::Experimental::Detail::RColumn::Map ( const RClusterIndex clusterIndex)
inline

Definition at line 171 of file RColumn.hxx.

◆ MapPage() [1/2]

void ROOT::Experimental::Detail::RColumn::MapPage ( const NTupleSize_t  index)

Definition at line 66 of file RColumn.cxx.

◆ MapPage() [2/2]

void ROOT::Experimental::Detail::RColumn::MapPage ( const RClusterIndex clusterIndex)

Definition at line 72 of file RColumn.cxx.

◆ operator=()

RColumn & ROOT::Experimental::Detail::RColumn::operator= ( const RColumn )
delete

◆ Read() [1/2]

void ROOT::Experimental::Detail::RColumn::Read ( const NTupleSize_t  globalIndex,
RColumnElementBase element 
)
inline

Definition at line 107 of file RColumn.hxx.

◆ Read() [2/2]

void ROOT::Experimental::Detail::RColumn::Read ( const RClusterIndex clusterIndex,
RColumnElementBase element 
)
inline

Definition at line 116 of file RColumn.hxx.

◆ ReadV() [1/2]

void ROOT::Experimental::Detail::RColumn::ReadV ( const NTupleSize_t  globalIndex,
const ClusterSize_t::ValueType  count,
RColumnElementBase elemArray 
)
inline

Definition at line 125 of file RColumn.hxx.

◆ ReadV() [2/2]

void ROOT::Experimental::Detail::RColumn::ReadV ( const RClusterIndex clusterIndex,
const ClusterSize_t::ValueType  count,
RColumnElementBase elemArray 
)
inline

Definition at line 142 of file RColumn.hxx.

Member Data Documentation

◆ fColumnIdSource

ColumnId_t ROOT::Experimental::Detail::RColumn::fColumnIdSource
private

The column id is used to find matching pages with content when reading.

Definition at line 63 of file RColumn.hxx.

◆ fCurrentPage

RPage ROOT::Experimental::Detail::RColumn::fCurrentPage
private

The currently mapped page for reading.

Definition at line 61 of file RColumn.hxx.

◆ fElement

std::unique_ptr<RColumnElementBase> ROOT::Experimental::Detail::RColumn::fElement
private

Used to pack and unpack pages on writing/reading.

Definition at line 65 of file RColumn.hxx.

◆ fHandleSink

RPageStorage::ColumnHandle_t ROOT::Experimental::Detail::RColumn::fHandleSink
private

Definition at line 54 of file RColumn.hxx.

◆ fHandleSource

RPageStorage::ColumnHandle_t ROOT::Experimental::Detail::RColumn::fHandleSource
private

Definition at line 55 of file RColumn.hxx.

◆ fHeadPage

RPage ROOT::Experimental::Detail::RColumn::fHeadPage
private

Open page into which new elements are being written.

Definition at line 57 of file RColumn.hxx.

◆ fIndex

std::uint32_t ROOT::Experimental::Detail::RColumn::fIndex
private

Columns belonging to the same field are distinguished by their order.

E.g. for an std::string field, there is the offset column with index 0 and the character value column with index 1.

Definition at line 51 of file RColumn.hxx.

◆ fModel

RColumnModel ROOT::Experimental::Detail::RColumn::fModel
private

Definition at line 46 of file RColumn.hxx.

◆ fNElements

NTupleSize_t ROOT::Experimental::Detail::RColumn::fNElements
private

The number of elements written resp. available in the column.

Definition at line 59 of file RColumn.hxx.

◆ fPageSink

RPageSink* ROOT::Experimental::Detail::RColumn::fPageSink
private

Definition at line 52 of file RColumn.hxx.

◆ fPageSource

RPageSource* ROOT::Experimental::Detail::RColumn::fPageSource
private

Definition at line 53 of file RColumn.hxx.

Libraries for ROOT::Experimental::Detail::RColumn:
[legend]

The documentation for this class was generated from the following files: