checkpoint::dispatch namespace

Namespaces

namespace typeregistry
namespace vrt

Classes

template<typename T>
struct Allocator
template<typename SerializerT, typename T>
struct BasicDispatcher
template<typename T>
struct CleanType
struct InPlaceTag
template<typename T>
struct Reconstructor
struct serialization_error
struct SERIALIZE_CONSTRUCT_TAG
template<typename SerializerT, typename T, typename Dispatcher>
struct SerializerDispatchByte
template<typename SerializerT, typename T, typename Dispatcher = BasicDispatcher<SerializerT, T>>
struct SerializerDispatchNonByte
struct Standard
Standard traversals for sizing, packing and unpacking a class.
struct Traverse
Traverse a target recursivelyT with a traverser object (typically inheriting from Serializer).

Typedefs

template<typename SerializerT, typename T, typename Dispatcher = BasicDispatcher<SerializerT, T>>
using SerializerDispatch = SerializerDispatchByte<SerializerT, T, Dispatcher>

Functions

template<typename T>
auto cleanType(T* val) -> CleanType<T>::CleanT*
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
template<typename T, typename TraverserT>
auto withTypeIdx(TraverserT& t) -> TraverserT&
template<typename T, typename TraverserT>
auto withMemUsed(TraverserT& t, SerialSizeType len) -> TraverserT&
template<typename TargetT, typename PackerT>
void validatePackerBufferSize(PackerT const& p, SerialSizeType bufferSize)

Typedef documentation

template<typename SerializerT, typename T, typename Dispatcher = BasicDispatcher<SerializerT, T>>
using checkpoint::dispatch::SerializerDispatch = SerializerDispatchByte<SerializerT, T, Dispatcher>

Function documentation

template<typename T>
CleanType<T>::CleanT* checkpoint::dispatch::cleanType(T* val)

template<typename T, typename UserTraits>
buffer::ImplReturnType checkpoint::dispatch::packBuffer(T& target, SerialSizeType size, BufferObtainFnType fn)

template<typename Serializer, typename T>
void checkpoint::dispatch::serializeArray(Serializer& s, T* array, SerialSizeType const len)

template<typename T, typename UserTraits>
buffer::ImplReturnType checkpoint::dispatch::serializeType(T& target, BufferObtainFnType fn = nullptr)

template<typename T, typename UserTraits>
T* checkpoint::dispatch::deserializeType(SerialByteType* data, SerialByteType* allocBuf = nullptr)

template<typename T, typename UserTraits>
void checkpoint::dispatch::deserializeType(InPlaceTag, SerialByteType* data, T* t)

template<typename T>
std::size_t checkpoint::dispatch::sizeType(T& t)

template<typename T, typename TraverserT>
TraverserT& checkpoint::dispatch::withTypeIdx(TraverserT& t)

template<typename T, typename TraverserT>
TraverserT& checkpoint::dispatch::withMemUsed(TraverserT& t, SerialSizeType len)

template<typename TargetT, typename PackerT>
void checkpoint::dispatch::validatePackerBufferSize(PackerT const& p, SerialSizeType bufferSize)