39#ifndef POSITION_DATA_H
40#define POSITION_DATA_H
43#if BYTE_ORDER == BIG_ENDIAN
44#error Big endian detected! Serialization expects little endian system!
70 return sizeof(
x) +
sizeof(
y) +
sizeof(
z);
83 if (buffer_size <
size()) {
84 return -((int)
size());
86 std::memcpy(buffer + idx, &
x,
sizeof(
x));
88 std::memcpy(buffer + idx, &
y,
sizeof(
x));
90 std::memcpy(buffer + idx, &
z,
sizeof(
x));
103 if (buffer_size <
size())
105 std::memcpy(&
x, buffer + idx,
sizeof(
x));
107 std::memcpy(&
y, buffer + idx,
sizeof(
y));
109 std::memcpy(&
z, buffer + idx,
sizeof(
z));
Definition position_data.h:56
double x
Definition position_data.h:58
int serialize(char *buffer, size_t buffer_size) const
Definition position_data.h:80
constexpr size_t size() const
Definition position_data.h:68
double z
Definition position_data.h:62
double y
Definition position_data.h:60
bool deserialize(char *buffer, size_t buffer_size)
Definition position_data.h:100