28 #ifndef UR_CLIENT_LIBRARY_PACKAGE_SERIALIZER_H_INCLUDED 29 #define UR_CLIENT_LIBRARY_PACKAGE_SERIALIZER_H_INCLUDED 57 size_t size =
sizeof(T);
59 std::memcpy(buffer, &tmp, size);
71 static size_t serialize(uint8_t* buffer,
double val)
73 size_t size =
sizeof(double);
75 std::memcpy(&inner, &val, size);
77 std::memcpy(buffer, &inner, size);
89 static size_t serialize(uint8_t* buffer, std::string val)
91 const uint8_t* c_val =
reinterpret_cast<const uint8_t*
>(val.c_str());
93 for (
size_t i = 0; i < val.size(); i++)
101 template <
typename T>
134 #endif // UR_CLIENT_LIBRARY_PACKAGE_SERIALIZER_H_INCLUDED static size_t serialize(uint8_t *buffer, double val)
A serialization method for double values.
A helper class to serialize packages. Contains methods for serializing all relevant datatypes...
static int64_t encode(int64_t val)
static int16_t encode(int16_t val)
static uint32_t encode(uint32_t val)
static size_t serialize(uint8_t *buffer, std::string val)
A serialization method for strings.
static uint64_t encode(uint64_t val)
static size_t serialize(uint8_t *buffer, T val)
A generalized serialization method for arbitrary datatypes.
static uint16_t encode(uint16_t val)
static int32_t encode(int32_t val)