Cbeam
Loading...
Searching...
No Matches
cbeam::serialization::traits< T > Struct Template Reference

Defines the traits required for serializing and deserializing objects of type T. More...

#include <traits.hpp>

Static Public Member Functions

static void serialize (const T &val, container::buffer &stream)
 Required to serialize an object of type T into a shared_buffer stream.
 
static void deserialize (serialized_object &it, T &val)
 Required to deserialize an object of type T from a serialized memory block, incrementing the iterator it.
 

Detailed Description

template<typename T>
struct cbeam::serialization::traits< T >

Defines the traits required for serializing and deserializing objects of type T.

This struct declares static methods as templates for serializing and deserializing objects. The default implementation is applicable for types that are both standard-layout and trivial. For types that do not meet these criteria, a specialized implementation of these methods must be provided to accommodate type-specific serialization behavior.

Member Function Documentation

◆ deserialize()

template<typename T>
static void cbeam::serialization::traits< T >::deserialize ( serialized_object & it,
T & val )
inlinestatic

Required to deserialize an object of type T from a serialized memory block, incrementing the iterator it.

Parameters
itA reference to a pointer to the serialized memory block.
valA reference to the object of type T, where the deserialized data will be stored.

This method should deserialize an object of type T from a serialized memory block, incrementing the iterator it to point to the next part of the serialized data. It should handle different types of data, managing memory and type conversion as needed.

◆ serialize()

template<typename T>
static void cbeam::serialization::traits< T >::serialize ( const T & val,
container::buffer & stream )
inlinestatic

Required to serialize an object of type T into a shared_buffer stream.

Parameters
valThe object to serialize.
streamThe shared_buffer stream into which the object is serialized.

This method should take an object of type T and serialize it into a container::buffer stream. by using its append method.


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