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)