src/checkpoint/dispatch/dispatch.h file

Namespaces

namespace checkpoint
namespace checkpoint::dispatch

Classes

struct checkpoint::dispatch::InPlaceTag
struct checkpoint::dispatch::Traverse
Traverse a target recursivelyT with a traverser object (typically inheriting from Serializer).
struct checkpoint::dispatch::Standard
Standard traversals for sizing, packing and unpacking a class.

Typedefs

using BufferObtainFnType = std::function<SerialByteType*(SerialSizeType size)>

Functions

template<typename Serializer, typename T>
auto operator|(Serializer& s, T& target) -> Serializer&
template<typename T, typename UserTraits>
auto packBuffer(T& target, SerialSizeType size, BufferObtainFnType fn) -> buffer::ImplReturnType
template<typename Serializer, typename T>
void serializeArray(Serializer& s, T* array, SerialSizeType const len)
template<typename T, typename UserTraits>
auto serializeType(T& target, BufferObtainFnType fn = nullptr) -> buffer::ImplReturnType
template<typename T, typename UserTraits>
auto deserializeType(SerialByteType* data, SerialByteType* allocBuf = nullptr) -> T*
template<typename T, typename UserTraits>
void deserializeType(InPlaceTag, SerialByteType* data, T* t)
template<typename T>
auto sizeType(T& t) -> std::size_t