Unpacker deserializes objects from ssrc::spread::detail::ByteBuffer instances (usually a ssrc::spread::Message instance). More...
#include <serialization.h>
Public Types |
|
typedef detail::char_array_source | source_type |
typedef detail::char_array_sink_buffer | source_buffer |
typedef Archive | input_archive |
Public Member Functions |
|
template<typename T > | |
unsigned int | unpack (T &obj, ByteBuffer &buffer, const unsigned int archive_flags=boost::archive::no_header|boost::archive::no_codecvt|boost::archive::no_tracking) SSRC_DECL_THROW(boost |
Deserializes an object from a buffer. More... |
|
template<typename T > | |
unsigned int | unpack (T &obj, const void *buffer, unsigned int size, const unsigned int archive_flags=boost::archive::no_header|boost::archive::no_codecvt|boost::archive::no_tracking) SSRC_DECL_THROW(boost |
Deserializes an object from a void * buffer. More... |
|
Protected Attributes |
|
source_type | _source |
source_buffer | _in_buf |
Detailed Description
template<typename Archive>
class Unpacker< Archive >
Unpacker deserializes objects from ssrc::spread::detail::ByteBuffer instances (usually a ssrc::spread::Message instance).
Each object type must have a Boost serialize function or method defined (or load and save).
- Parameters
-
Archive The archive type to use for serialization.
Definition at line 214 of file serialization.h.
Member Typedef Documentation
typedef Archive Unpacker< Archive >::input_archive |
Definition at line 218 of file serialization.h.
typedef detail::char_array_sink_buffer Unpacker< Archive >::source_buffer |
Definition at line 217 of file serialization.h.
typedef detail::char_array_source Unpacker< Archive >::source_type |
Definition at line 216 of file serialization.h.
Member Function Documentation
|
inline |
Deserializes an object from a buffer.
The type of the object is automatically inferred by the compiler. The object read starts at the current buffer offset. After the object is deserialized, the buffer offset is adjusted and its read offset advanced to the end of the data read.
- Parameters
-
obj The deserialization target. buffer The buffer storing the serialized object. archive_flags Boost archive constructor flags.
- Returns
- The number of bytes read.
- Exceptions
-
boost::archive::archive_exception If there is an archive read error. std::ios_base::failure If the stream buffer fails.
Definition at line 242 of file serialization.h.
References detail::array_device_adapter< Ch, mode_type >::init(), and detail::char_array_streambuf< DeviceAdapter >::open().
|
inline |
Deserializes an object from a void * buffer.
The type of the object is automatically inferred by the compiler. We use this method primarily to unpack serialized objects from blobs without copying the buffer first.
- Parameters
-
obj The deserialization target. buffer The buffer storing the serialized object. size The number of bytes in the buffer. archive_flags Boost archive constructor flags.
- Returns
- The number of bytes read.
- Exceptions
-
boost::archive::archive_exception If there is an archive read error. std::ios_base::failure If the stream buffer fails.
Definition at line 284 of file serialization.h.
References detail::array_device_adapter< Ch, mode_type >::init(), and detail::char_array_streambuf< DeviceAdapter >::open().
Member Data Documentation
|
protected |
Definition at line 222 of file serialization.h.
|
protected |
Definition at line 221 of file serialization.h.
The documentation for this class was generated from the following file: