26 #ifndef INCLUDED_SerializationTraitExample_Complicated_h_GUID_FDF4E42A_9B56_4A86_7FDF_3C6425E6F9FB
27 #define INCLUDED_SerializationTraitExample_Complicated_h_GUID_FDF4E42A_9B56_4A86_7FDF_3C6425E6F9FB
51 namespace serialization {
67 template <
typename BufferType>
69 typename Base::param_type val,
71 serializeRaw(buf, val.A);
72 serializeRaw(buf, val.B);
73 serializeRaw(buf, val.C);
76 template <
typename BufferReaderType>
78 typename Base::reference_type val,
80 deserializeRaw(buf, val.A);
81 deserializeRaw(buf, val.B);
82 deserializeRaw(buf, val.C);
85 static size_t spaceRequired(
size_t existingBytes,
88 size_t bytes = existingBytes;
89 bytes += getBufferSpaceRequiredRaw(bytes, val.A);
90 bytes += getBufferSpaceRequiredRaw(bytes, val.B);
91 bytes += getBufferSpaceRequiredRaw(bytes, val.C);
92 return bytes - existingBytes;
100 #endif // INCLUDED_SerializationTraitExample_Complicated_h_GUID_FDF4E42A_9B56_4A86_7FDF_3C6425E6F9FB
Base of serialization traits, containing useful typedefs.
void deserialize(BufferReaderType &reader, MessageClass &msg)
Deserializes a message from a buffer, using a MessageClass
Header wrapping the C99 standard stdint header.
void serialize(BufferType &buf, MessageClass &msg)
Serializes a message into a buffer, using a MessageClass
The default "type tag" for specifying serialization behavior.
Dummy example for your type.
Traits class indicating how to serialize a type with a given tag. The default tag for a type T is Def...