Logo ROOT  
Reference Guide
ROOT::Experimental::RNTupleLocator Struct Reference

Generic information about the physical location of data.

Values depend on the concrete storage type. E.g., for a local file fPosition might be a 64bit file offset. Referenced objects on storage can be compressed and therefore we need to store their actual size. TODO(jblomer): consider moving this to RNTupleDescriptor

Definition at line 140 of file RNTupleUtil.hxx.

Public Types

enum  ELocatorType : std::uint8_t { kTypeFile = 0x00 , kTypeURI = 0x01 , kTypeDAOS = 0x02 }
 Values for the Type field in non-disk locators; see doc/specifications.md for details. More...
 

Public Member Functions

template<typename T >
const T & GetPosition () const
 
bool operator== (const RNTupleLocator &other) const
 

Public Attributes

std::uint32_t fBytesOnStorage = 0
 
std::variant< std::uint64_t, std::string, RNTupleLocatorObject64fPosition
 Simple on-disk locators consisting of a 64-bit offset use variant type uint64_t; extended locators have fPosition.index() > 0. More...
 
std::uint8_t fReserved = 0
 Reserved for use by concrete storage backends. More...
 
ELocatorType fType = kTypeFile
 For non-disk locators, the value for the Type field. More...
 

#include <ROOT/RNTupleUtil.hxx>

Member Enumeration Documentation

◆ ELocatorType

Values for the Type field in non-disk locators; see doc/specifications.md for details.

Enumerator
kTypeFile 
kTypeURI 
kTypeDAOS 

Definition at line 142 of file RNTupleUtil.hxx.

Member Function Documentation

◆ GetPosition()

template<typename T >
const T & ROOT::Experimental::RNTupleLocator::GetPosition ( ) const
inline

Definition at line 162 of file RNTupleUtil.hxx.

◆ operator==()

bool ROOT::Experimental::RNTupleLocator::operator== ( const RNTupleLocator other) const
inline

Definition at line 158 of file RNTupleUtil.hxx.

Member Data Documentation

◆ fBytesOnStorage

std::uint32_t ROOT::Experimental::RNTupleLocator::fBytesOnStorage = 0

Definition at line 151 of file RNTupleUtil.hxx.

◆ fPosition

std::variant<std::uint64_t, std::string, RNTupleLocatorObject64> ROOT::Experimental::RNTupleLocator::fPosition

Simple on-disk locators consisting of a 64-bit offset use variant type uint64_t; extended locators have fPosition.index() > 0.

Definition at line 150 of file RNTupleUtil.hxx.

◆ fReserved

std::uint8_t ROOT::Experimental::RNTupleLocator::fReserved = 0

Reserved for use by concrete storage backends.

Definition at line 156 of file RNTupleUtil.hxx.

◆ fType

ELocatorType ROOT::Experimental::RNTupleLocator::fType = kTypeFile

For non-disk locators, the value for the Type field.

This makes it possible to have different type values even if the payload structure is identical.

Definition at line 154 of file RNTupleUtil.hxx.

Collaboration diagram for ROOT::Experimental::RNTupleLocator:
[legend]

The documentation for this struct was generated from the following file: