Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
ROOT::Experimental::Internal::RNTupleSerializer Class Reference

A helper class for serializing and deserialization of the RNTuple binary format.

All serialization and deserialization routines return the number of bytes processed (written or read).

The serialization routines can be called with a nullptr buffer, in which case only the size required to perform a serialization is returned. Deserialization routines must be called with a buffer that is sufficiently large.

Deserialization errors throw exceptions. Only when indicated or when passed as a parameter is the buffer size checked.

Definition at line 64 of file RNTupleSerialize.hxx.

Classes

struct  RClusterGroup
 
struct  RClusterSummary
 
class  RContext
 The serialization context is used for the piecewise serialization of a descriptor. More...
 
struct  REnvelopeLink
 

Public Types

enum class  EDescriptorDeserializeMode { kRaw , kForWriting , kForReading }
 
using StreamerInfoMap_t = std::map<Int_t, TVirtualStreamerInfo *>
 

Static Public Member Functions

static RResult< std::uint32_t > DeserializeClusterGroup (const void *buffer, std::uint64_t bufSize, RClusterGroup &clusterGroup)
 
static RResult< std::uint32_t > DeserializeClusterSummary (const void *buffer, std::uint64_t bufSize, RClusterSummary &clusterSummary)
 
static RResult< std::uint32_t > DeserializeColumnType (const void *buffer, ROOT::ENTupleColumnType &type)
 
static RResult< std::uint32_t > DeserializeEnvelope (const void *buffer, std::uint64_t bufSize, std::uint16_t expectedType)
 
static RResult< std::uint32_t > DeserializeEnvelope (const void *buffer, std::uint64_t bufSize, std::uint16_t expectedType, std::uint64_t &xxhash3)
 
static RResult< std::uint32_t > DeserializeEnvelopeLink (const void *buffer, std::uint64_t bufSize, REnvelopeLink &envelopeLink)
 
static RResult< std::uint32_t > DeserializeExtraTypeInfoId (const void *buffer, ROOT::EExtraTypeInfoIds &id)
 
static RResult< std::uint32_t > DeserializeFeatureFlags (const void *buffer, std::uint64_t bufSize, std::vector< std::uint64_t > &flags)
 
static RResult< std::uint32_t > DeserializeFieldStructure (const void *buffer, ROOT::ENTupleStructure &structure)
 
static RResult< void > DeserializeFooter (const void *buffer, std::uint64_t bufSize, ROOT::Internal::RNTupleDescriptorBuilder &descBuilder)
 
static RResult< std::uint32_t > DeserializeFrameHeader (const void *buffer, std::uint64_t bufSize, std::uint64_t &frameSize)
 
static RResult< std::uint32_t > DeserializeFrameHeader (const void *buffer, std::uint64_t bufSize, std::uint64_t &frameSize, std::uint32_t &nitems)
 
static RResult< void > DeserializeHeader (const void *buffer, std::uint64_t bufSize, ROOT::Internal::RNTupleDescriptorBuilder &descBuilder)
 
static std::uint32_t DeserializeInt16 (const void *buffer, std::int16_t &val)
 
static std::uint32_t DeserializeInt32 (const void *buffer, std::int32_t &val)
 
static std::uint32_t DeserializeInt64 (const void *buffer, std::int64_t &val)
 
static RResult< std::uint32_t > DeserializeLocator (const void *buffer, std::uint64_t bufSize, RNTupleLocator &locator)
 
static RResult< void > DeserializePageList (const void *buffer, std::uint64_t bufSize, ROOT::DescriptorId_t clusterGroupId, RNTupleDescriptor &desc, EDescriptorDeserializeMode mode)
 
static RResult< std::uint32_t > DeserializeSchemaDescription (const void *buffer, std::uint64_t bufSize, ROOT::Internal::RNTupleDescriptorBuilder &descBuilder)
 
static RResult< StreamerInfoMap_tDeserializeStreamerInfos (const std::string &extraTypeInfoContent)
 
static RResult< std::uint32_t > DeserializeString (const void *buffer, std::uint64_t bufSize, std::string &val)
 
static std::uint32_t DeserializeUInt16 (const void *buffer, std::uint16_t &val)
 
static std::uint32_t DeserializeUInt32 (const void *buffer, std::uint32_t &val)
 
static std::uint32_t DeserializeUInt64 (const void *buffer, std::uint64_t &val)
 
static RResult< std::uint32_t > SerializeClusterGroup (const RClusterGroup &clusterGroup, void *buffer)
 
static RResult< std::uint32_t > SerializeClusterSummary (const RClusterSummary &clusterSummary, void *buffer)
 
static RResult< std::uint32_t > SerializeColumnType (ROOT::ENTupleColumnType type, void *buffer)
 
static RResult< std::uint32_t > SerializeEnvelopeLink (const REnvelopeLink &envelopeLink, void *buffer)
 
static RResult< std::uint32_t > SerializeEnvelopePostscript (unsigned char *envelope, std::uint64_t size)
 
static RResult< std::uint32_t > SerializeEnvelopePostscript (unsigned char *envelope, std::uint64_t size, std::uint64_t &xxhash3)
 
static std::uint32_t SerializeEnvelopePreamble (std::uint16_t envelopeType, void *buffer)
 
static RResult< std::uint32_t > SerializeExtraTypeInfoId (ROOT::EExtraTypeInfoIds id, void *buffer)
 
static RResult< std::uint32_t > SerializeFeatureFlags (const std::vector< std::uint64_t > &flags, void *buffer)
 
static RResult< std::uint32_t > SerializeFieldStructure (ROOT::ENTupleStructure structure, void *buffer)
 While we could just interpret the enums as ints, we make the translation explicit in order to avoid accidentally changing the on-disk numbers when adjusting the enum classes.
 
static RResult< std::uint32_t > SerializeFooter (void *buffer, const RNTupleDescriptor &desc, const RContext &context)
 
static RResult< std::uint32_t > SerializeFramePostscript (void *frame, std::uint64_t size)
 
static RResult< RContextSerializeHeader (void *buffer, const RNTupleDescriptor &desc)
 
static std::uint32_t SerializeInt16 (std::int16_t val, void *buffer)
 
static std::uint32_t SerializeInt32 (std::int32_t val, void *buffer)
 
static std::uint32_t SerializeInt64 (std::int64_t val, void *buffer)
 
static std::uint32_t SerializeListFramePreamble (std::uint32_t nitems, void *buffer)
 
static RResult< std::uint32_t > SerializeLocator (const RNTupleLocator &locator, void *buffer)
 
static RResult< std::uint32_t > SerializePageList (void *buffer, const RNTupleDescriptor &desc, std::span< ROOT::DescriptorId_t > physClusterIDs, const RContext &context)
 
static std::uint32_t SerializeRecordFramePreamble (void *buffer)
 
static RResult< std::uint32_t > SerializeSchemaDescription (void *buffer, const RNTupleDescriptor &desc, const RContext &context, bool forHeaderExtension=false)
 Serialize the schema description in desc into buffer.
 
static std::string SerializeStreamerInfos (const StreamerInfoMap_t &infos)
 
static std::uint32_t SerializeString (const std::string &val, void *buffer)
 
static std::uint32_t SerializeUInt16 (std::uint16_t val, void *buffer)
 
static std::uint32_t SerializeUInt32 (std::uint32_t val, void *buffer)
 
static std::uint32_t SerializeUInt64 (std::uint64_t val, void *buffer)
 
static std::uint32_t SerializeXxHash3 (const unsigned char *data, std::uint64_t length, std::uint64_t &xxhash3, void *buffer)
 Writes a XxHash-3 64bit checksum of the byte range given by data and length.
 
static RResult< void > VerifyXxHash3 (const unsigned char *data, std::uint64_t length)
 
static RResult< void > VerifyXxHash3 (const unsigned char *data, std::uint64_t length, std::uint64_t &xxhash3)
 Expects an xxhash3 checksum in the 8 bytes following data + length and verifies it.
 

Static Public Attributes

static constexpr std::uint16_t kEnvelopeTypeFooter = 0x02
 
static constexpr std::uint16_t kEnvelopeTypeHeader = 0x01
 
static constexpr std::uint16_t kEnvelopeTypePageList = 0x03
 
static constexpr std::uint16_t kFlagDeferredColumn = 0x01
 
static constexpr std::uint16_t kFlagHasTypeChecksum = 0x04
 
static constexpr std::uint16_t kFlagHasValueRange = 0x02
 
static constexpr std::uint16_t kFlagProjectedField = 0x02
 
static constexpr std::uint16_t kFlagRepetitiveField = 0x01
 
static constexpr int64_t kSuppressedColumnMarker = std::numeric_limits<std::int64_t>::min()
 
static constexpr ROOT::DescriptorId_t kZeroFieldId = std::uint64_t(-2)
 

Static Private Member Functions

static RResult< std::vector< ROOT::Internal::RClusterDescriptorBuilder > > DeserializePageListRaw (const void *buffer, std::uint64_t bufSize, ROOT::DescriptorId_t clusterGroupId, const RNTupleDescriptor &desc)
 

#include <ROOT/RNTupleSerialize.hxx>

Member Typedef Documentation

◆ StreamerInfoMap_t

Member Enumeration Documentation

◆ EDescriptorDeserializeMode

Enumerator
kRaw 

Deserializes the descriptor as-is without performing any additional fixup.

The produced descriptor is unsuitable for reading or writing, but it's a faithful representation of the on-disk information.

kForWriting 

Deserializes the descriptor and performs fixup on the suppressed column ranges.

This produces a descriptor that is suitable for writing, but not reading.

kForReading 

Deserializes the descriptor and performs fixup on the suppressed column ranges and on clusters, taking into account the header extension.

This produces a descriptor that is suitable for reading.

Definition at line 291 of file RNTupleSerialize.hxx.

Member Function Documentation

◆ DeserializeClusterGroup()

ROOT::RResult< std::uint32_t > ROOT::Experimental::Internal::RNTupleSerializer::DeserializeClusterGroup ( const void * buffer,
std::uint64_t bufSize,
RClusterGroup & clusterGroup )
static

Definition at line 1281 of file RNTupleSerialize.cxx.

◆ DeserializeClusterSummary()

ROOT::RResult< std::uint32_t > ROOT::Experimental::Internal::RNTupleSerializer::DeserializeClusterSummary ( const void * buffer,
std::uint64_t bufSize,
RClusterSummary & clusterSummary )
static

Definition at line 1222 of file RNTupleSerialize.cxx.

◆ DeserializeColumnType()

ROOT::RResult< std::uint32_t > ROOT::Experimental::Internal::RNTupleSerializer::DeserializeColumnType ( const void * buffer,
ROOT::ENTupleColumnType & type )
static

Definition at line 772 of file RNTupleSerialize.cxx.

◆ DeserializeEnvelope() [1/2]

ROOT::RResult< std::uint32_t > ROOT::Experimental::Internal::RNTupleSerializer::DeserializeEnvelope ( const void * buffer,
std::uint64_t bufSize,
std::uint16_t expectedType )
static

Definition at line 947 of file RNTupleSerialize.cxx.

◆ DeserializeEnvelope() [2/2]

ROOT::RResult< std::uint32_t > ROOT::Experimental::Internal::RNTupleSerializer::DeserializeEnvelope ( const void * buffer,
std::uint64_t bufSize,
std::uint16_t expectedType,
std::uint64_t & xxhash3 )
static

Definition at line 914 of file RNTupleSerialize.cxx.

◆ DeserializeEnvelopeLink()

ROOT::RResult< std::uint32_t > ROOT::Experimental::Internal::RNTupleSerializer::DeserializeEnvelopeLink ( const void * buffer,
std::uint64_t bufSize,
REnvelopeLink & envelopeLink )
static

Definition at line 1176 of file RNTupleSerialize.cxx.

◆ DeserializeExtraTypeInfoId()

ROOT::RResult< std::uint32_t > ROOT::Experimental::Internal::RNTupleSerializer::DeserializeExtraTypeInfoId ( const void * buffer,
ROOT::EExtraTypeInfoIds & id )
static

Definition at line 862 of file RNTupleSerialize.cxx.

◆ DeserializeFeatureFlags()

ROOT::RResult< std::uint32_t > ROOT::Experimental::Internal::RNTupleSerializer::DeserializeFeatureFlags ( const void * buffer,
std::uint64_t bufSize,
std::vector< std::uint64_t > & flags )
static

Definition at line 1056 of file RNTupleSerialize.cxx.

◆ DeserializeFieldStructure()

ROOT::RResult< std::uint32_t > ROOT::Experimental::Internal::RNTupleSerializer::DeserializeFieldStructure ( const void * buffer,
ROOT::ENTupleStructure & structure )
static

Definition at line 834 of file RNTupleSerialize.cxx.

◆ DeserializeFooter()

ROOT::RResult< void > ROOT::Experimental::Internal::RNTupleSerializer::DeserializeFooter ( const void * buffer,
std::uint64_t bufSize,
ROOT::Internal::RNTupleDescriptorBuilder & descBuilder )
static

Definition at line 1889 of file RNTupleSerialize.cxx.

◆ DeserializeFrameHeader() [1/2]

ROOT::RResult< std::uint32_t > ROOT::Experimental::Internal::RNTupleSerializer::DeserializeFrameHeader ( const void * buffer,
std::uint64_t bufSize,
std::uint64_t & frameSize )
static

Definition at line 1024 of file RNTupleSerialize.cxx.

◆ DeserializeFrameHeader() [2/2]

ROOT::RResult< std::uint32_t > ROOT::Experimental::Internal::RNTupleSerializer::DeserializeFrameHeader ( const void * buffer,
std::uint64_t bufSize,
std::uint64_t & frameSize,
std::uint32_t & nitems )
static

Definition at line 990 of file RNTupleSerialize.cxx.

◆ DeserializeHeader()

ROOT::RResult< void > ROOT::Experimental::Internal::RNTupleSerializer::DeserializeHeader ( const void * buffer,
std::uint64_t bufSize,
ROOT::Internal::RNTupleDescriptorBuilder & descBuilder )
static

Definition at line 1825 of file RNTupleSerialize.cxx.

◆ DeserializeInt16()

std::uint32_t ROOT::Experimental::Internal::RNTupleSerializer::DeserializeInt16 ( const void * buffer,
std::int16_t & val )
static

Definition at line 619 of file RNTupleSerialize.cxx.

◆ DeserializeInt32()

std::uint32_t ROOT::Experimental::Internal::RNTupleSerializer::DeserializeInt32 ( const void * buffer,
std::int32_t & val )
static

Definition at line 648 of file RNTupleSerialize.cxx.

◆ DeserializeInt64()

std::uint32_t ROOT::Experimental::Internal::RNTupleSerializer::DeserializeInt64 ( const void * buffer,
std::int64_t & val )
static

Definition at line 682 of file RNTupleSerialize.cxx.

◆ DeserializeLocator()

ROOT::RResult< std::uint32_t > ROOT::Experimental::Internal::RNTupleSerializer::DeserializeLocator ( const void * buffer,
std::uint64_t bufSize,
RNTupleLocator & locator )
static

Definition at line 1118 of file RNTupleSerialize.cxx.

◆ DeserializePageList()

ROOT::RResult< void > ROOT::Experimental::Internal::RNTupleSerializer::DeserializePageList ( const void * buffer,
std::uint64_t bufSize,
ROOT::DescriptorId_t clusterGroupId,
ROOT::RNTupleDescriptor & desc,
EDescriptorDeserializeMode mode )
static

Definition at line 2103 of file RNTupleSerialize.cxx.

◆ DeserializePageListRaw()

ROOT::RResult< std::vector< ROOT::Internal::RClusterDescriptorBuilder > > ROOT::Experimental::Internal::RNTupleSerializer::DeserializePageListRaw ( const void * buffer,
std::uint64_t bufSize,
ROOT::DescriptorId_t clusterGroupId,
const RNTupleDescriptor & desc )
staticprivate

Definition at line 1967 of file RNTupleSerialize.cxx.

◆ DeserializeSchemaDescription()

ROOT::RResult< std::uint32_t > ROOT::Experimental::Internal::RNTupleSerializer::DeserializeSchemaDescription ( const void * buffer,
std::uint64_t bufSize,
ROOT::Internal::RNTupleDescriptorBuilder & descBuilder )
static

Definition at line 1469 of file RNTupleSerialize.cxx.

◆ DeserializeStreamerInfos()

ROOT::RResult< ROOT::Experimental::Internal::RNTupleSerializer::StreamerInfoMap_t > ROOT::Experimental::Internal::RNTupleSerializer::DeserializeStreamerInfos ( const std::string & extraTypeInfoContent)
static

Definition at line 2159 of file RNTupleSerialize.cxx.

◆ DeserializeString()

ROOT::RResult< std::uint32_t > ROOT::Experimental::Internal::RNTupleSerializer::DeserializeString ( const void * buffer,
std::uint64_t bufSize,
std::string & val )
static

Definition at line 711 of file RNTupleSerialize.cxx.

◆ DeserializeUInt16()

std::uint32_t ROOT::Experimental::Internal::RNTupleSerializer::DeserializeUInt16 ( const void * buffer,
std::uint16_t & val )
static

Definition at line 631 of file RNTupleSerialize.cxx.

◆ DeserializeUInt32()

std::uint32_t ROOT::Experimental::Internal::RNTupleSerializer::DeserializeUInt32 ( const void * buffer,
std::uint32_t & val )
static

Definition at line 661 of file RNTupleSerialize.cxx.

◆ DeserializeUInt64()

std::uint32_t ROOT::Experimental::Internal::RNTupleSerializer::DeserializeUInt64 ( const void * buffer,
std::uint64_t & val )
static

Definition at line 696 of file RNTupleSerialize.cxx.

◆ SerializeClusterGroup()

ROOT::RResult< std::uint32_t > ROOT::Experimental::Internal::RNTupleSerializer::SerializeClusterGroup ( const RClusterGroup & clusterGroup,
void * buffer )
static

Definition at line 1256 of file RNTupleSerialize.cxx.

◆ SerializeClusterSummary()

ROOT::RResult< std::uint32_t > ROOT::Experimental::Internal::RNTupleSerializer::SerializeClusterSummary ( const RClusterSummary & clusterSummary,
void * buffer )
static

Definition at line 1194 of file RNTupleSerialize.cxx.

◆ SerializeColumnType()

ROOT::RResult< std::uint32_t > ROOT::Experimental::Internal::RNTupleSerializer::SerializeColumnType ( ROOT::ENTupleColumnType type,
void * buffer )
static

Definition at line 732 of file RNTupleSerialize.cxx.

◆ SerializeEnvelopeLink()

ROOT::RResult< std::uint32_t > ROOT::Experimental::Internal::RNTupleSerializer::SerializeEnvelopeLink ( const REnvelopeLink & envelopeLink,
void * buffer )
static

Definition at line 1163 of file RNTupleSerialize.cxx.

◆ SerializeEnvelopePostscript() [1/2]

ROOT::RResult< std::uint32_t > ROOT::Experimental::Internal::RNTupleSerializer::SerializeEnvelopePostscript ( unsigned char * envelope,
std::uint64_t size )
static

Definition at line 906 of file RNTupleSerialize.cxx.

◆ SerializeEnvelopePostscript() [2/2]

ROOT::RResult< std::uint32_t > ROOT::Experimental::Internal::RNTupleSerializer::SerializeEnvelopePostscript ( unsigned char * envelope,
std::uint64_t size,
std::uint64_t & xxhash3 )
static

Definition at line 889 of file RNTupleSerialize.cxx.

◆ SerializeEnvelopePreamble()

std::uint32_t ROOT::Experimental::Internal::RNTupleSerializer::SerializeEnvelopePreamble ( std::uint16_t envelopeType,
void * buffer )
static

Definition at line 877 of file RNTupleSerialize.cxx.

◆ SerializeExtraTypeInfoId()

ROOT::RResult< std::uint32_t > ROOT::Experimental::Internal::RNTupleSerializer::SerializeExtraTypeInfoId ( ROOT::EExtraTypeInfoIds id,
void * buffer )
static

Definition at line 853 of file RNTupleSerialize.cxx.

◆ SerializeFeatureFlags()

ROOT::RResult< std::uint32_t > ROOT::Experimental::Internal::RNTupleSerializer::SerializeFeatureFlags ( const std::vector< std::uint64_t > & flags,
void * buffer )
static

Definition at line 1032 of file RNTupleSerialize.cxx.

◆ SerializeFieldStructure()

ROOT::RResult< std::uint32_t > ROOT::Experimental::Internal::RNTupleSerializer::SerializeFieldStructure ( ROOT::ENTupleStructure structure,
void * buffer )
static

While we could just interpret the enums as ints, we make the translation explicit in order to avoid accidentally changing the on-disk numbers when adjusting the enum classes.

Definition at line 817 of file RNTupleSerialize.cxx.

◆ SerializeFooter()

ROOT::RResult< std::uint32_t > ROOT::Experimental::Internal::RNTupleSerializer::SerializeFooter ( void * buffer,
const RNTupleDescriptor & desc,
const RContext & context )
static

Definition at line 1760 of file RNTupleSerialize.cxx.

◆ SerializeFramePostscript()

ROOT::RResult< std::uint32_t > ROOT::Experimental::Internal::RNTupleSerializer::SerializeFramePostscript ( void * frame,
std::uint64_t size )
static

Definition at line 974 of file RNTupleSerialize.cxx.

◆ SerializeHeader()

ROOT::RResult< ROOT::Experimental::Internal::RNTupleSerializer::RContext > ROOT::Experimental::Internal::RNTupleSerializer::SerializeHeader ( void * buffer,
const RNTupleDescriptor & desc )
static

Definition at line 1620 of file RNTupleSerialize.cxx.

◆ SerializeInt16()

std::uint32_t ROOT::Experimental::Internal::RNTupleSerializer::SerializeInt16 ( std::int16_t val,
void * buffer )
static

Definition at line 609 of file RNTupleSerialize.cxx.

◆ SerializeInt32()

std::uint32_t ROOT::Experimental::Internal::RNTupleSerializer::SerializeInt32 ( std::int32_t val,
void * buffer )
static

Definition at line 636 of file RNTupleSerialize.cxx.

◆ SerializeInt64()

std::uint32_t ROOT::Experimental::Internal::RNTupleSerializer::SerializeInt64 ( std::int64_t val,
void * buffer )
static

Definition at line 666 of file RNTupleSerialize.cxx.

◆ SerializeListFramePreamble()

std::uint32_t ROOT::Experimental::Internal::RNTupleSerializer::SerializeListFramePreamble ( std::uint32_t nitems,
void * buffer )
static

Definition at line 961 of file RNTupleSerialize.cxx.

◆ SerializeLocator()

ROOT::RResult< std::uint32_t > ROOT::Experimental::Internal::RNTupleSerializer::SerializeLocator ( const RNTupleLocator & locator,
void * buffer )
static

Definition at line 1075 of file RNTupleSerialize.cxx.

◆ SerializePageList()

ROOT::RResult< std::uint32_t > ROOT::Experimental::Internal::RNTupleSerializer::SerializePageList ( void * buffer,
const RNTupleDescriptor & desc,
std::span< ROOT::DescriptorId_t > physClusterIDs,
const RContext & context )
static

Definition at line 1661 of file RNTupleSerialize.cxx.

◆ SerializeRecordFramePreamble()

std::uint32_t ROOT::Experimental::Internal::RNTupleSerializer::SerializeRecordFramePreamble ( void * buffer)
static

Definition at line 954 of file RNTupleSerialize.cxx.

◆ SerializeSchemaDescription()

ROOT::RResult< std::uint32_t > ROOT::Experimental::Internal::RNTupleSerializer::SerializeSchemaDescription ( void * buffer,
const RNTupleDescriptor & desc,
const RContext & context,
bool forHeaderExtension = false )
static

Serialize the schema description in desc into buffer.

If forHeaderExtension is true, serialize only the fields and columns tagged as part of the header extension (see RNTupleDescriptorBuilder::BeginHeaderExtension).

Definition at line 1357 of file RNTupleSerialize.cxx.

◆ SerializeStreamerInfos()

std::string ROOT::Experimental::Internal::RNTupleSerializer::SerializeStreamerInfos ( const StreamerInfoMap_t & infos)
static

Definition at line 2145 of file RNTupleSerialize.cxx.

◆ SerializeString()

std::uint32_t ROOT::Experimental::Internal::RNTupleSerializer::SerializeString ( const std::string & val,
void * buffer )
static

Definition at line 701 of file RNTupleSerialize.cxx.

◆ SerializeUInt16()

std::uint32_t ROOT::Experimental::Internal::RNTupleSerializer::SerializeUInt16 ( std::uint16_t val,
void * buffer )
static

Definition at line 626 of file RNTupleSerialize.cxx.

◆ SerializeUInt32()

std::uint32_t ROOT::Experimental::Internal::RNTupleSerializer::SerializeUInt32 ( std::uint32_t val,
void * buffer )
static

Definition at line 656 of file RNTupleSerialize.cxx.

◆ SerializeUInt64()

std::uint32_t ROOT::Experimental::Internal::RNTupleSerializer::SerializeUInt64 ( std::uint64_t val,
void * buffer )
static

Definition at line 691 of file RNTupleSerialize.cxx.

◆ SerializeXxHash3()

std::uint32_t ROOT::Experimental::Internal::RNTupleSerializer::SerializeXxHash3 ( const unsigned char * data,
std::uint64_t length,
std::uint64_t & xxhash3,
void * buffer )
static

Writes a XxHash-3 64bit checksum of the byte range given by data and length.

Definition at line 580 of file RNTupleSerialize.cxx.

◆ VerifyXxHash3() [1/2]

ROOT::RResult< void > ROOT::Experimental::Internal::RNTupleSerializer::VerifyXxHash3 ( const unsigned char * data,
std::uint64_t length )
static

Definition at line 603 of file RNTupleSerialize.cxx.

◆ VerifyXxHash3() [2/2]

ROOT::RResult< void > ROOT::Experimental::Internal::RNTupleSerializer::VerifyXxHash3 ( const unsigned char * data,
std::uint64_t length,
std::uint64_t & xxhash3 )
static

Expects an xxhash3 checksum in the 8 bytes following data + length and verifies it.

Definition at line 591 of file RNTupleSerialize.cxx.

Member Data Documentation

◆ kEnvelopeTypeFooter

constexpr std::uint16_t ROOT::Experimental::Internal::RNTupleSerializer::kEnvelopeTypeFooter = 0x02
staticconstexpr

Definition at line 71 of file RNTupleSerialize.hxx.

◆ kEnvelopeTypeHeader

constexpr std::uint16_t ROOT::Experimental::Internal::RNTupleSerializer::kEnvelopeTypeHeader = 0x01
staticconstexpr

Definition at line 70 of file RNTupleSerialize.hxx.

◆ kEnvelopeTypePageList

constexpr std::uint16_t ROOT::Experimental::Internal::RNTupleSerializer::kEnvelopeTypePageList = 0x03
staticconstexpr

Definition at line 72 of file RNTupleSerialize.hxx.

◆ kFlagDeferredColumn

constexpr std::uint16_t ROOT::Experimental::Internal::RNTupleSerializer::kFlagDeferredColumn = 0x01
staticconstexpr

Definition at line 78 of file RNTupleSerialize.hxx.

◆ kFlagHasTypeChecksum

constexpr std::uint16_t ROOT::Experimental::Internal::RNTupleSerializer::kFlagHasTypeChecksum = 0x04
staticconstexpr

Definition at line 76 of file RNTupleSerialize.hxx.

◆ kFlagHasValueRange

constexpr std::uint16_t ROOT::Experimental::Internal::RNTupleSerializer::kFlagHasValueRange = 0x02
staticconstexpr

Definition at line 79 of file RNTupleSerialize.hxx.

◆ kFlagProjectedField

constexpr std::uint16_t ROOT::Experimental::Internal::RNTupleSerializer::kFlagProjectedField = 0x02
staticconstexpr

Definition at line 75 of file RNTupleSerialize.hxx.

◆ kFlagRepetitiveField

constexpr std::uint16_t ROOT::Experimental::Internal::RNTupleSerializer::kFlagRepetitiveField = 0x01
staticconstexpr

Definition at line 74 of file RNTupleSerialize.hxx.

◆ kSuppressedColumnMarker

constexpr int64_t ROOT::Experimental::Internal::RNTupleSerializer::kSuppressedColumnMarker = std::numeric_limits<std::int64_t>::min()
staticconstexpr

Definition at line 83 of file RNTupleSerialize.hxx.

◆ kZeroFieldId

constexpr ROOT::DescriptorId_t ROOT::Experimental::Internal::RNTupleSerializer::kZeroFieldId = std::uint64_t(-2)
staticconstexpr

Definition at line 81 of file RNTupleSerialize.hxx.

Libraries for ROOT::Experimental::Internal::RNTupleSerializer:

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