26 * The Ocean IO Serialization Library provides functionalities for data serialization and deserialization.
27 * The library supports streaming binary data with timestamps and channels for recording and playback.
28 *
29 * The library is organized around the following core components:<br>
30 * - DataSerializer: The abstract base class for all serializers, defining the channel and sample management interface.<br>
31 * - OutputDataSerializer: Serializes data samples to a stream (e.g., file or network) for recording purposes.<br>
32 * - InputDataSerializer: Deserializes data samples from a stream for playback with configurable speed control.<br>
33 * - DataSample: The abstract base class for all data samples, containing timestamps for both recording and playback.<br>
34 * - DataTimestamp: A flexible timestamp class supporting both double and int64_t representations.<br>
35 * - MediaSerializer: Provides specialized data samples for media content, e.g., DataSampleFrame for Ocean::Frame objects with optional camera models.<br>
36 * - VectorOutputStream: A memory-based output stream implementation for in-memory buffering.
37 *
38 * Typical usage involves creating an output serializer to record data samples into channels, or creating an input serializer to play back previously recorded data with timing control.
39 * @}
40 */
41
42/**
43 * @namespace Ocean::IO::Serialization
44 * @brief Namespace of the Ocean IO Serialization library.
45 *
46 * The Namespace Ocean::IO::Serialization is used in the entire Ocean IO Serialization library.
47 */
48
49// Defines OCEAN_IO_SERIALIZATION_EXPORT for dll export and import.