33 throw RException(
R__FAIL(
"overflow in on-disk size of locator: " + std::to_string(nBytesOnStorage)));
42 switch (compactType) {
56 std::uint64_t compactType;
97 throw RException(
R__FAIL(
"cannot retrieve position as 64bit object for type " + std::to_string(loc.GetType())));
98 return RNTupleLocatorObject64{loc.fPosition};
#define R__FAIL(msg)
Short-hand to return an RResult<T> in an error state; the RError is implicitly converted into RResult...
#define R__ASSERT(e)
Checks condition e and reports a fatal error if it's false.
Base class for all ROOT issued exceptions.
RNTupleLocator payload that is common for object stores using 64bit location information.
std::uint64_t GetLocation() const
Generic information about the physical location of data.
std::uint64_t fPosition
Simple on-disk locators consisting of a 64-bit offset use variant type uint64_t; Object store locator...
ELocatorType
Values for the Type field in non-disk locators.
std::uint64_t fFlagsAndNBytes
To save memory, we use the most significant bits to store the locator type (file, DAOS,...
static constexpr std::uint64_t kMaskFlags
The 4 most significant bits of fFlagsAndNBytes carry the locator type (3 bits) plus one bit for a res...
ELocatorType GetType() const
For non-disk locators, the value for the Type field.
static constexpr std::uint64_t kMaskReservedBit
void SetType(ELocatorType type)
void SetPosition(std::uint64_t position)
static constexpr std::uint64_t kMaskType
void SetReserved(std::uint8_t reserved)
See GetReserved(): we ignore the reserved flag since we don't use it anywhere currently.
void SetNBytesOnStorage(std::uint64_t nBytesOnStorage)
constexpr RNTupleLocator::ELocatorType kTestLocatorType