Logo ROOT  
Reference Guide
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 ( )

◆ RDaosContainerNTupleLocator() [2/2]

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

Definition at line 111 of file RPageStorageDaos.hxx.

Member Function Documentation

◆ GetIndex()

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

Definition at line 114 of file RPageStorageDaos.hxx.

◆ Hash()

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

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 ( )

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 

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

Definition at line 108 of file RPageStorageDaos.hxx.

Collaboration diagram for ROOT::Experimental::Detail::RDaosContainerNTupleLocator:

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