CnC
 All Classes Namespaces Functions Variables Typedefs Enumerator Friends Groups Pages
Classes | Public Member Functions | Friends
serializer Class Reference

Handles serilialization of data-objects. More...

List of all members.

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 >
serializeroperator& (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.

Detailed Description

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 334 of file serializer.h.


Member Function Documentation

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
Returns:
pointer to the message body (without header)
size_type get_body_size ( ) const
inline
Returns:
the number of bytes already packed into the buffer
void* get_header ( ) const
inline
Returns:
pointer to message header
size_type get_header_size ( ) const
inline
Returns:
size of header
size_type get_total_size ( ) const
inline
Returns:
total number of bytes in buffer (header + data)
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
Returns:
body size from header, -1 if something goes wrong

The documentation for this class was generated from the following file: