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.
Definition at line 207 of file RNTupleTypes.hxx.
Public Types | |
enum | ELocatorType : std::uint8_t { kTypeFile = 0x00 , kTypeDAOS = 0x02 , kLastSerializableType = 0x7f , kTypePageZero = kLastSerializableType + 1 , kTypeUnknown } |
Values for the Type field in non-disk locators. More... | |
Public Member Functions | |
RNTupleLocator ()=default | |
std::uint64_t | GetNBytesOnStorage () const |
template<typename T > | |
T | GetPosition () const |
std::uint8_t | GetReserved () const |
ELocatorType | GetType () const |
bool | operator== (const RNTupleLocator &other) const |
void | SetNBytesOnStorage (std::uint64_t nBytesOnStorage) |
template<typename T > | |
void | SetPosition (T position) |
void | SetReserved (std::uint8_t reserved) |
void | SetType (ELocatorType type) |
Private Attributes | |
std::uint64_t | fNBytesOnStorage = 0 |
std::variant< std::uint64_t, RNTupleLocatorObject64 > | fPosition {} |
Simple on-disk locators consisting of a 64-bit offset use variant type uint64_t ; extended locators have fPosition.index() > 0. | |
std::uint8_t | fReserved = 0 |
Reserved for use by concrete storage backends. | |
ELocatorType | fType = kTypeFile |
For non-disk locators, the value for the Type field. | |
#include <ROOT/RNTupleTypes.hxx>
enum ROOT::RNTupleLocator::ELocatorType : std::uint8_t |
Values for the Type field in non-disk locators.
Serializable types must have the MSb == 0; see doc/BinaryFormatSpecification.md
for details
Enumerator | |
---|---|
kTypeFile | |
kTypeDAOS | |
kLastSerializableType | |
kTypePageZero | |
kTypeUnknown |
Definition at line 211 of file RNTupleTypes.hxx.
|
default |
|
inline |
Definition at line 241 of file RNTupleTypes.hxx.
|
inline |
Definition at line 250 of file RNTupleTypes.hxx.
|
inline |
Definition at line 243 of file RNTupleTypes.hxx.
|
inline |
Definition at line 242 of file RNTupleTypes.hxx.
|
inline |
Definition at line 236 of file RNTupleTypes.hxx.
|
inline |
Definition at line 245 of file RNTupleTypes.hxx.
|
inline |
Definition at line 256 of file RNTupleTypes.hxx.
|
inline |
Definition at line 247 of file RNTupleTypes.hxx.
|
inline |
Definition at line 246 of file RNTupleTypes.hxx.
|
private |
Definition at line 223 of file RNTupleTypes.hxx.
|
private |
Simple on-disk locators consisting of a 64-bit offset use variant type uint64_t
; extended locators have fPosition.index()
> 0.
Definition at line 226 of file RNTupleTypes.hxx.
|
private |
Reserved for use by concrete storage backends.
Definition at line 231 of file RNTupleTypes.hxx.
|
private |
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 229 of file RNTupleTypes.hxx.