Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
ROOT::Experimental::Detail::RDaosContainerNTupleLocator Class Reference

Helper structure concentrating the functionality required to locate an ntuple within a DAOS container.

It includes a hashing function that converts the RNTuple's name into a 32-bit identifier; this value is used to index the subspace for the ntuple among all objects in the container. A zero-value hash value is reserved for storing any future metadata related to container-wide management; a zero-index ntuple is thus disallowed and remapped to "1". Once the index is computed, InitNTupleDescriptorBuilder() can be called to return a partially-filled builder with the ntuple's anchor, header and footer, lacking only pagelists. Upon that call, a copy of the anchor is stored in fAnchor.

Definition at line 104 of file RPageStorageDaos.hxx.

Public Member Functions

 RDaosContainerNTupleLocator ()=default
 
 RDaosContainerNTupleLocator (const std::string &ntupleName)
 
ntuple_index_t GetIndex () const
 
int InitNTupleDescriptorBuilder (RDaosContainer &cont, RNTupleDecompressor &decompressor, RNTupleDescriptorBuilder &builder)
 
bool IsValid ()
 

Static Public Member Functions

static ntuple_index_t Hash (const std::string &ntupleName)
 
static std::pair< RDaosContainerNTupleLocator, RNTupleDescriptorBuilderLocateNTuple (RDaosContainer &cont, const std::string &ntupleName, RNTupleDecompressor &decompressor)
 

Public Attributes

std::optional< ROOT::Experimental::Detail::RDaosNTupleAnchorfAnchor
 
ntuple_index_t fIndex {}
 
std::string fName {}
 

Static Public Attributes

static const ntuple_index_t kReservedIndex = 0
 

#include <ROOT/RPageStorageDaos.hxx>

Constructor & Destructor Documentation

◆ RDaosContainerNTupleLocator() [1/2]

ROOT::Experimental::Detail::RDaosContainerNTupleLocator::RDaosContainerNTupleLocator ( )
default

◆ RDaosContainerNTupleLocator() [2/2]

ROOT::Experimental::Detail::RDaosContainerNTupleLocator::RDaosContainerNTupleLocator ( const std::string &  ntupleName)
inlineexplicit

Definition at line 111 of file RPageStorageDaos.hxx.

Member Function Documentation

◆ GetIndex()

ntuple_index_t ROOT::Experimental::Detail::RDaosContainerNTupleLocator::GetIndex ( ) const
inline

Definition at line 114 of file RPageStorageDaos.hxx.

◆ Hash()

static ntuple_index_t ROOT::Experimental::Detail::RDaosContainerNTupleLocator::Hash ( const std::string &  ntupleName)
inlinestatic

Definition at line 115 of file RPageStorageDaos.hxx.

◆ InitNTupleDescriptorBuilder()

int ROOT::Experimental::Detail::RDaosContainerNTupleLocator::InitNTupleDescriptorBuilder ( RDaosContainer cont,
RNTupleDecompressor decompressor,
RNTupleDescriptorBuilder builder 
)

Definition at line 167 of file RPageStorageDaos.cxx.

◆ IsValid()

bool ROOT::Experimental::Detail::RDaosContainerNTupleLocator::IsValid ( )
inline

Definition at line 113 of file RPageStorageDaos.hxx.

◆ LocateNTuple()

std::pair< ROOT::Experimental::Detail::RDaosContainerNTupleLocator, ROOT::Experimental::RNTupleDescriptorBuilder > ROOT::Experimental::Detail::RDaosContainerNTupleLocator::LocateNTuple ( RDaosContainer cont,
const std::string &  ntupleName,
RNTupleDecompressor decompressor 
)
static

Definition at line 207 of file RPageStorageDaos.cxx.

Member Data Documentation

◆ fAnchor

std::optional<ROOT::Experimental::Detail::RDaosNTupleAnchor> ROOT::Experimental::Detail::RDaosContainerNTupleLocator::fAnchor

Definition at line 107 of file RPageStorageDaos.hxx.

◆ fIndex

ntuple_index_t ROOT::Experimental::Detail::RDaosContainerNTupleLocator::fIndex {}

Definition at line 106 of file RPageStorageDaos.hxx.

◆ fName

std::string ROOT::Experimental::Detail::RDaosContainerNTupleLocator::fName {}

Definition at line 105 of file RPageStorageDaos.hxx.

◆ kReservedIndex

const ntuple_index_t ROOT::Experimental::Detail::RDaosContainerNTupleLocator::kReservedIndex = 0
static

Definition at line 108 of file RPageStorageDaos.hxx.

Collaboration diagram for ROOT::Experimental::Detail::RDaosContainerNTupleLocator:
[legend]

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