31namespace Experimental {
35namespace RNTupleSerialization {
39 if (buffer !=
nullptr) {
40 auto bytes =
reinterpret_cast<unsigned char *
>(buffer);
41 bytes[0] = (val & 0x00000000000000FF);
42 bytes[1] = (val & 0x000000000000FF00) >> 8;
43 bytes[2] = (val & 0x0000000000FF0000) >> 16;
44 bytes[3] = (val & 0x00000000FF000000) >> 24;
45 bytes[4] = (val & 0x000000FF00000000) >> 32;
46 bytes[5] = (val & 0x0000FF0000000000) >> 40;
47 bytes[6] = (val & 0x00FF000000000000) >> 48;
48 bytes[7] = (val & 0xFF00000000000000) >> 56;
60 auto bytes =
reinterpret_cast<const unsigned char *
>(buffer);
61 *val = std::int64_t(bytes[0]) + (std::int64_t(bytes[1]) << 8) +
62 (std::int64_t(bytes[2]) << 16) + (std::int64_t(bytes[3]) << 24) +
63 (std::int64_t(bytes[4]) << 32) + (std::int64_t(bytes[5]) << 40) +
64 (std::int64_t(bytes[6]) << 48) + (std::int64_t(bytes[7]) << 56);
75 if (buffer !=
nullptr) {
76 auto bytes =
reinterpret_cast<unsigned char *
>(buffer);
77 bytes[0] = (val & 0x000000FF);
78 bytes[1] = (val & 0x0000FF00) >> 8;
79 bytes[2] = (val & 0x00FF0000) >> 16;
80 bytes[3] = (val & 0xFF000000) >> 24;
92 auto bytes =
reinterpret_cast<const unsigned char *
>(buffer);
93 *val = std::int32_t(bytes[0]) + (std::int32_t(bytes[1]) << 8) +
94 (std::int32_t(bytes[2]) << 16) + (std::int32_t(bytes[3]) << 24);
105 if (buffer !=
nullptr) {
106 auto bytes =
reinterpret_cast<unsigned char *
>(buffer);
107 bytes[0] = (val & 0x00FF);
108 bytes[1] = (val & 0xFF00) >> 8;
120 auto bytes =
reinterpret_cast<const unsigned char *
>(buffer);
121 *val = std::int16_t(bytes[0]) + (std::int16_t(bytes[1]) << 8);
132 if (buffer !=
nullptr) {
133 auto pos =
reinterpret_cast<unsigned char *
>(buffer);
135 memcpy(pos, val.data(), val.length());
142 auto base =
reinterpret_cast<const unsigned char *
>(buffer);
144 std::uint32_t length;
147 memcpy(&(*val)[0], bytes, length);
148 return bytes + length - base;
A log configuration for a channel, e.g.
std::uint32_t DeserializeInt64(const void *buffer, std::int64_t *val)
std::uint32_t DeserializeUInt16(const void *buffer, std::uint16_t *val)
std::uint32_t SerializeInt64(std::int64_t val, void *buffer)
std::uint32_t SerializeUInt32(std::uint32_t val, void *buffer)
std::uint32_t SerializeInt32(std::int32_t val, void *buffer)
std::uint32_t SerializeUInt16(std::uint16_t val, void *buffer)
std::uint32_t SerializeInt16(std::int16_t val, void *buffer)
std::uint32_t DeserializeUInt64(const void *buffer, std::uint64_t *val)
std::uint32_t SerializeUInt64(std::uint64_t val, void *buffer)
std::uint32_t DeserializeString(const void *buffer, std::string *val)
std::uint32_t DeserializeInt16(const void *buffer, std::int16_t *val)
std::uint32_t DeserializeInt32(const void *buffer, std::int32_t *val)
std::uint32_t DeserializeUInt32(const void *buffer, std::uint32_t *val)
std::uint32_t SerializeString(const std::string &val, void *buffer)
void PrintRNTuple(const RNTuple &ntuple, std::ostream &output)
RLogChannel & NTupleLog()
Log channel for RNTuple diagnostics.
tbb::task_arena is an alias of tbb::interface7::task_arena, which doesn't allow to forward declare tb...
Entry point for an RNTuple in a ROOT file.
std::uint64_t fSeekFooter
The file offset of the footer excluding the TKey part.
std::uint32_t fLenHeader
The size of the uncompressed ntuple header.
std::uint64_t fReserved
Currently unused, reserved for later use.
std::uint32_t fVersion
Allows for evolving the struct in future versions.
std::uint32_t fNBytesHeader
The size of the compressed ntuple header.
std::uint32_t fSize
Allows for skipping the struct.
std::uint32_t fNBytesFooter
The size of the compressed ntuple footer.
std::uint32_t fLenFooter
The size of the uncompressed ntuple footer.
std::uint64_t fSeekHeader
The file offset of the header excluding the TKey part.
static void output(int code)