Handles serilialization of data-objects. More...
Classes | |
struct | construct_array |
Allocates an array of type T and size num in pointer variable arrVar. More... | |
struct | destruct_array |
destructs the array of type T and isze num at arrVar and resets arrVar to NULL. More... | |
Public Member Functions | |
void | resize (size_type len) |
(Re)allocates a buffer of the given size. | |
size_type | get_header_size () const |
size_type | get_body_size () const |
size_type | get_total_size () const |
void * | get_header () const |
void * | get_body () const |
size_type | unpack_header () const |
template<class T > | |
serializer & | operator& (T &var) |
template<class T > | |
reserved | reserve (const T &_obj) |
template<class T > | |
void | complete (const reserved &r, const T &_obj) |
Friends | |
void | swap (serializer &s1, serializer &s2) |
Swap internal representations of the given two serializers. |
Handles serilialization of data-objects.
objects of this class are passed to serialization methods/functions. Try to use operator & only; using anything else is potentially dangerous.
Definition at line 348 of file serializer.h.
void complete | ( | const reserved & | r, |
const T & | _obj | ||
) |
fill in data at position that has been reserved before rserve/complete supported for bitwise-serializable types only
void* get_body | ( | ) | const [inline] |
size_type get_body_size | ( | ) | const [inline] |
void* get_header | ( | ) | const [inline] |
size_type get_header_size | ( | ) | const [inline] |
size_type get_total_size | ( | ) | const [inline] |
serializer& operator& | ( | T & | var | ) |
Top-level packing interface, to be used in the "serialize" function of your classes. Applies the serializer to one object resp. an array of objects (e.g. packing them into the serializer or unpacking them from the serializer). Dispatches w.r.t. the packing category of the object's type (i.e. byte-wise copying or object serialization).
reserved reserve | ( | const T & | _obj | ) |
reserve current position in buffer to be filled later with a call to "complete" rserve/complete supported for bitwise-serializable types only
size_type unpack_header | ( | ) | const [inline] |