namespace
dispatch
Namespaces
- namespace typeregistry
- namespace vrt
Classes
-
template<typename T>struct Allocator
-
template<typename SerializerT, typename T>struct BasicDispatcher
-
template<typename T>struct CleanType
-
template<typename T>struct InPlaceWrapper
- A wrapper class for in-place allocations that may not have a corresponding destructor. If a user has an existing allocation that is deserialized into, it may never be destructed as it gets copied or moved. This class encapsulates that allocation and ensures it is properly destroyed, or it explicitly requires
transferOwnership
to be invoked, indicating that the user is now responsible for its destruction. This typically occurs when the user or system places the type in a managed pointer, such as astd::unique_ptr<T>
with a standard deleter. -
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
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 TraverserT>auto withTypeIdx(TraverserT& t) -> TraverserT&
-
template<typename T, typename TraverserT>auto withMemUsed(TraverserT& t, SerialSizeType len) -> TraverserT&
-
template<typename Serializer, typename T>void serializeArray(Serializer& s, T* array, SerialSizeType const len)
-
template<typename TargetT, typename PackerT>void validatePackerBufferSize(PackerT const& p, SerialSizeType bufferSize)
-
template<typename T, typename UserTraits>auto packBuffer(T& target, SerialSizeType size, BufferObtainFnType fn) -> buffer::
ImplReturnType -
template<typename T, typename UserTraits>auto serializeType(T& target, BufferObtainFnType fn) -> buffer::
ImplReturnType -
template<typename T, typename UserTraits>auto deserializeType(SerialByteType* data, SerialByteType* allocBuf) -> T*
-
template<typename T, typename UserTraits>void deserializeType(InPlaceTag, SerialByteType* data, T* t)
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, typename TraverserT>
TraverserT& checkpoint:: dispatch:: withTypeIdx(TraverserT& t)
template<typename T, typename TraverserT>
TraverserT& checkpoint:: dispatch:: withMemUsed(TraverserT& t,
SerialSizeType len)
template<typename Serializer, typename T>
void checkpoint:: dispatch:: serializeArray(Serializer& s,
T* array,
SerialSizeType const len)
template<typename TargetT, typename PackerT>
void checkpoint:: dispatch:: validatePackerBufferSize(PackerT const& p,
SerialSizeType bufferSize)
template<typename T, typename UserTraits>
buffer:: ImplReturnType checkpoint:: dispatch:: packBuffer(T& target,
SerialSizeType size,
BufferObtainFnType fn)
template<typename T, typename UserTraits>
buffer:: ImplReturnType checkpoint:: dispatch:: serializeType(T& target,
BufferObtainFnType fn)
template<typename T, typename UserTraits>
T* checkpoint:: dispatch:: deserializeType(SerialByteType* data,
SerialByteType* allocBuf)
template<typename T, typename UserTraits>
void checkpoint:: dispatch:: deserializeType(InPlaceTag,
SerialByteType* data,
T* t)