Abstract interface to read data from an ntuple.
The page source is initialized with the columns of interest. Pages from those columns can then be mapped into memory. The page source also gives access to the ntuple's meta-data.
Definition at line 159 of file RPageStorage.hxx.
Public Member Functions | |
RPageSource (std::string_view ntupleName, const RNTupleReadOptions &fOptions) | |
virtual | ~RPageSource () |
ColumnHandle_t | AddColumn (DescriptorId_t fieldId, const RColumn &column) final |
Register a new column. More... | |
void | Attach () |
Open the physical storage container for the tree. More... | |
virtual std::unique_ptr< RPageSource > | Clone () const =0 |
Open the same storage multiple time, e.g. for reading in multiple threads. More... | |
ColumnId_t | GetColumnId (ColumnHandle_t columnHandle) |
const RNTupleDescriptor & | GetDescriptor () const |
NTupleSize_t | GetNElements (ColumnHandle_t columnHandle) |
NTupleSize_t | GetNEntries () |
EPageStorageType | GetType () final |
Whether the concrete implementation is a sink or a source. More... | |
virtual RPage | PopulatePage (ColumnHandle_t columnHandle, const RClusterIndex &clusterIndex)=0 |
Another version of PopulatePage that allows to specify cluster-relative indexes. More... | |
virtual RPage | PopulatePage (ColumnHandle_t columnHandle, NTupleSize_t globalIndex)=0 |
Allocates and fills a page that contains the index-th element. More... | |
Public Member Functions inherited from ROOT::Experimental::Detail::RPageStorage | |
RPageStorage (const RPageStorage &other)=delete | |
RPageStorage (std::string_view name) | |
virtual | ~RPageStorage () |
virtual ColumnHandle_t | AddColumn (DescriptorId_t fieldId, const RColumn &column)=0 |
Register a new column. More... | |
virtual RNTupleMetrics & | GetMetrics ()=0 |
Page storage implementations usually have their own metrics. More... | |
virtual EPageStorageType | GetType ()=0 |
Whether the concrete implementation is a sink or a source. More... | |
RPageStorage & | operator= (const RPageStorage &other)=delete |
virtual void | ReleasePage (RPage &page)=0 |
Every page store needs to be able to free pages it handed out. More... | |
Static Public Member Functions | |
static std::unique_ptr< RPageSource > | Create (std::string_view ntupleName, std::string_view location, const RNTupleReadOptions &options=RNTupleReadOptions()) |
Guess the concrete derived page source from the file name (location) More... | |
Protected Member Functions | |
virtual RNTupleDescriptor | DoAttach ()=0 |
Protected Attributes | |
RNTupleDescriptor | fDescriptor |
const RNTupleReadOptions | fOptions |
Protected Attributes inherited from ROOT::Experimental::Detail::RPageStorage | |
std::string | fNTupleName |
Additional Inherited Members | |
Public Types inherited from ROOT::Experimental::Detail::RPageStorage | |
using | ColumnHandle_t = RColumnHandle |
The column handle identifies a column with the current open page storage. More... | |
#include <ROOT/RPageStorage.hxx>
ROOT::Experimental::Detail::RPageSource::RPageSource | ( | std::string_view | ntupleName, |
const RNTupleReadOptions & | fOptions | ||
) |
Definition at line 54 of file RPageStorage.cxx.
|
virtual |
Definition at line 59 of file RPageStorage.cxx.
|
finalvirtual |
Register a new column.
When reading, the column must exist in the ntuple on disk corresponding to the meta-data. When writing, every column can only be attached once.
Implements ROOT::Experimental::Detail::RPageStorage.
Definition at line 72 of file RPageStorage.cxx.
|
inline |
Open the physical storage container for the tree.
Definition at line 180 of file RPageStorage.hxx.
|
pure virtual |
Open the same storage multiple time, e.g. for reading in multiple threads.
Implemented in ROOT::Experimental::Detail::RPageSourceRaw, and ROOT::Experimental::Detail::RPageSourceRoot.
|
static |
Guess the concrete derived page source from the file name (location)
Definition at line 63 of file RPageStorage.cxx.
|
protectedpure virtual |
Implemented in ROOT::Experimental::Detail::RPageSourceRaw, and ROOT::Experimental::Detail::RPageSourceRoot.
ROOT::Experimental::ColumnId_t ROOT::Experimental::Detail::RPageSource::GetColumnId | ( | ColumnHandle_t | columnHandle | ) |
Definition at line 90 of file RPageStorage.cxx.
|
inline |
Definition at line 176 of file RPageStorage.hxx.
ROOT::Experimental::NTupleSize_t ROOT::Experimental::Detail::RPageSource::GetNElements | ( | ColumnHandle_t | columnHandle | ) |
Definition at line 85 of file RPageStorage.cxx.
ROOT::Experimental::NTupleSize_t ROOT::Experimental::Detail::RPageSource::GetNEntries | ( | ) |
Definition at line 80 of file RPageStorage.cxx.
|
inlinefinalvirtual |
Whether the concrete implementation is a sink or a source.
Implements ROOT::Experimental::Detail::RPageStorage.
Definition at line 175 of file RPageStorage.hxx.
|
pure virtual |
Another version of PopulatePage that allows to specify cluster-relative indexes.
Implemented in ROOT::Experimental::Detail::RPageSourceRaw, and ROOT::Experimental::Detail::RPageSourceRoot.
|
pure virtual |
Allocates and fills a page that contains the index-th element.
Implemented in ROOT::Experimental::Detail::RPageSourceRaw, and ROOT::Experimental::Detail::RPageSourceRoot.
|
protected |
Definition at line 162 of file RPageStorage.hxx.
|
protected |
Definition at line 161 of file RPageStorage.hxx.