|
VLink 2.0.0
A high-performance communication middleware
|
Type-erased data container for runtime serialisation and deserialisation. More...
Go to the source code of this file.
Classes | |
| class | vlink::DynamicData |
| Runtime-typed container that serializes any VLink-compatible message type. More... | |
Namespaces | |
| namespace | vlink |
Type-erased data container for runtime serialisation and deserialisation.
DynamicData stores a serialized payload (Bytes) together with a type-name tag (up to kOffset = 20 bytes) embedded in the leading bytes of the buffer. This allows the payload to be transported through channels that do not know the compile-time message type, and later deserialized back to the concrete type.
The type name is stored in-place in the first kOffset bytes of the Bytes buffer and exposed as a std::string_view pointing into that buffer.
DynamicData object (static_assert).kOffset (20) bytes (static_assert).