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
- 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 recursively
T
with a traverser object (typically inheriting fromSerializer
).
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)