ATLAS Offline Software
Loading...
Searching...
No Matches
TracccTriton::detail::Reader Class Reference

#include <TracccEdmSerialization.h>

Collaboration diagram for TracccTriton::detail::Reader:

Public Member Functions

 Reader (const std::uint8_t *data, std::size_t size)
std::uint64_t size ()
void bytes (void *dst, std::size_t size)

Private Attributes

const std::uint8_t * m_pos
const std::uint8_t * m_end

Detailed Description

Definition at line 47 of file TracccEdmSerialization.h.

Constructor & Destructor Documentation

◆ Reader()

TracccTriton::detail::Reader::Reader ( const std::uint8_t * data,
std::size_t size )
inline

Definition at line 49 of file TracccEdmSerialization.h.

50 : m_pos(data), m_end(data + size) {}

Member Function Documentation

◆ bytes()

void TracccTriton::detail::Reader::bytes ( void * dst,
std::size_t size )
inline

Definition at line 58 of file TracccEdmSerialization.h.

58 {
59 if (static_cast<std::size_t>(m_end - m_pos) < size) {
60 throw std::runtime_error(
61 "TracccEdmSerialization: buffer too short while reading");
62 }
63 if (size != 0) {
64 std::memcpy(dst, m_pos, size);
65 }
66 m_pos += size;
67 }

◆ size()

std::uint64_t TracccTriton::detail::Reader::size ( )
inline

Definition at line 52 of file TracccEdmSerialization.h.

52 {
53 std::uint64_t value;
54 bytes(&value, sizeof(value));
55 return value;
56 }
void bytes(void *dst, std::size_t size)

Member Data Documentation

◆ m_end

const std::uint8_t* TracccTriton::detail::Reader::m_end
private

Definition at line 71 of file TracccEdmSerialization.h.

◆ m_pos

const std::uint8_t* TracccTriton::detail::Reader::m_pos
private

Definition at line 70 of file TracccEdmSerialization.h.


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