-
template<typename T, typename... UserTraits>
auto serialize(T& target,
BufferCallbackType fn = nullptr) -> SerializedReturnType
- Serialize
T
into a byte buffer.
-
template<typename T, typename... UserTraits>
auto deserialize(char* buf,
char* object_buf) -> T*
- De-serialize and reify
T
from a byte buffer and corresponding size
.
-
template<typename T, typename... UserTraits>
auto deserialize(char* buf) -> std::unique_ptr<T>
- De-serialize and reify
T
from a byte buffer and corresponding size
.
-
template<typename T, typename... UserTraits>
void deserializeInPlace(char* buf,
T* t)
- De-serialize and reify
T
from a byte buffer and corresponding size
in-place on the user-provided t
.
-
template<typename T, typename... UserTraits>
auto deserialize(SerializedReturnType&& in) -> std::unique_ptr<T>
- Convenience function for de-serializing and reify
T
directly from in
the return value from serialize
.
-
template<typename T, typename... UserTraits>
auto getSize(T& target) -> std::size_t
- Get the number of bytes that
target
requires for serialization.
-
template<typename T, typename... UserTraits>
auto getMemoryFootprint(T& target,
std::size_t size_offset = 0) -> std::size_t
- Get memory footprint of
target
.
-
template<typename T, typename... UserTraits>
void serializeToFile(T& target,
std::string const& file)
- Serialize
T
to file with filename file
.
-
template<typename T, typename... UserTraits>
auto deserializeFromFile(std::string const& file) -> std::unique_ptr<T>
- De-serialize and reify
T
from a file.
-
template<typename T, typename... UserTraits>
void deserializeInPlaceFromFile(std::string const& file,
T* buf)
- De-serialize and reify
T
from a file in place on an existing pointer to T
.
-
template<typename T, typename... UserTraits, typename StreamT>
void serializeToStream(T& target,
StreamT& stream)
- Serialize
T
to a stream.
-
template<typename T, typename... UserTraits, typename StreamT>
auto deserializeFromStream(StreamT& stream) -> std::unique_ptr<T>
- De-serialize and reify
T
from a stream.
-
template<typename T, typename... UserTraits, typename StreamT>
void deserializeInPlaceFromStream(StreamT& stream,
T* buf)
- De-serialize and reify
T
from a stream in place on an existing pointer to T
.
-
template<typename Serializer, typename T, size_t N>
void serialize(Serializer& s,
std::array<T, N>& array)
-
template<typename SerializerT, typename T, typename = std::enable_if_t< checkpoint::is_footprinter_v<SerializerT> >>
void serialize(SerializerT& s,
const std::atomic<T>& atomic)
-
template<typename Serializer, typename Rep, typename Period>
void serialize(Serializer& s,
std::chrono::duration<Rep, Period>& d)
-
template<typename Serializer, typename ContainerT>
auto serializeContainerSize(Serializer& s,
ContainerT& cont) -> ContainerT::size_type
-
template<typename Serializer, typename ContainerT>
auto serializeContainerCapacity(Serializer& s,
ContainerT& cont) -> ContainerT::size_type
-
template<typename Serializer, typename ContainerT>
void serializeContainerElems(Serializer& s,
ContainerT& cont)
-
template<typename Serializer, typename Enum, typename Underlying = std::underlying_type_t<Enum>>
void serializeEnum(Serializer& s,
Enum& e)
-
template<typename SerializerT, typename Res, typename... ArgTypes>
void serialize(SerializerT& s,
std::function<Res(ArgTypes...)>& fn)
- Serialize function
func
.
-
template<typename SerializerT, typename Res, typename... ArgTypes, typename = std::enable_if_t< checkpoint::is_footprinter_v<SerializerT> >>
void serializeFunction(SerializerT& s,
std::function<Res(ArgTypes...)>& fn)
-
template<typename Serializer, typename ContainerT, typename ElmT>
auto deserializeOrderedElems(Serializer& s,
ContainerT& cont,
typename ContainerT::size_type size,
isCopyConstructible<ElmT>* = nullptr) -> std::enable_if_t<not checkpoint::is_footprinter_v<Serializer>, void>
-
template<typename Serializer, typename ContainerT, typename ElmT>
auto deserializeOrderedElems(Serializer& s,
ContainerT& cont,
typename ContainerT::size_type size,
isNotCopyConstructible<ElmT>* = nullptr) -> std::enable_if_t<not checkpoint::is_footprinter_v<Serializer>, void>
-
template<typename Serializer, typename ContainerT, typename ElmT>
auto deserializeOrderedElems(Serializer&,
ContainerT&,
typename ContainerT::size_type) -> std::enable_if_t<checkpoint::is_footprinter_v<Serializer>, void>
-
template<typename Serializer, typename ContainerT>
void serializeOrderedContainer(Serializer& s,
ContainerT& cont)
-
template<typename Serializer, typename T>
void serialize(Serializer& s,
std::list<T>& lst)
-
template<typename Serializer, typename T>
void serialize(Serializer& s,
std::deque<T>& lst)
-
template<typename Serializer, typename ContainerT, typename ElmT>
auto deserializeEmplaceElems(Serializer& s,
ContainerT& cont,
typename ContainerT::size_type size) -> std::enable_if_t<not checkpoint::is_footprinter_v<Serializer>, void>
-
template<typename Serializer, typename ContainerT, typename ElmT>
auto deserializeEmplaceElems(Serializer&,
ContainerT&,
typename ContainerT::size_type) -> std::enable_if_t<checkpoint::is_footprinter_v<Serializer>, void>
-
template<typename Serializer, typename ContainerT>
void serializeMapLikeContainer(Serializer& s,
ContainerT& cont)
-
template<typename Serializer, typename T, typename U, typename Comp>
void serialize(Serializer& s,
std::map<T, U, Comp>& map)
-
template<typename Serializer, typename T, typename U, typename Comp>
void serialize(Serializer& s,
std::multimap<T, U, Comp>& map)
-
template<typename Serializer, typename T, typename Comp>
void serialize(Serializer& s,
std::set<T, Comp>& set)
-
template<typename Serializer, typename T, typename Comp>
void serialize(Serializer& s,
std::multiset<T, Comp>& set)
-
template<typename Serializer, typename T, typename U, typename Hash, typename Eq>
void serialize(Serializer& s,
std::unordered_map<T, U, Hash, Eq>& map)
-
template<typename Serializer, typename T, typename U, typename Hash, typename Eq>
void serialize(Serializer& s,
std::unordered_multimap<T, U, Hash, Eq>& map)
-
template<typename Serializer, typename T, typename Hash, typename Eq>
void serialize(Serializer& s,
std::unordered_set<T, Hash, Eq>& set)
-
template<typename Serializer, typename T, typename Hash, typename Eq>
void serialize(Serializer& s,
std::unordered_multiset<T, Hash, Eq>& set)
-
template<typename SerializerT, typename T>
void deserializeOptional(SerializerT& s,
std::optional<T>& optional)
-
template<typename SerializerT, typename T>
void serialize(SerializerT& s,
std::optional<T>& optional)
-
template<typename SerializerT, typename T>
void deserializeQueueElems(SerializerT& s,
std::queue<T>& q,
typename std::queue<T>::size_type size)
-
template<typename SerializerT, typename T>
void serializeQueueElems(SerializerT& s,
std::queue<T> q)
-
template<typename SerializerT, typename T, typename = std::enable_if_t< not checkpoint::is_footprinter_v<SerializerT> >>
void serializeQueueLikeContainer(SerializerT& s,
std::queue<T>& q)
-
template<typename Serializer, typename T>
void serialize(Serializer& s,
std::queue<T>& q)
-
template<typename Serializer, typename T>
void serialize(Serializer& s,
const std::priority_queue<T>& q)
-
template<typename Serializer, typename T>
void serialize(Serializer& s,
const std::stack<T>& stack)
-
template<typename SerializerT, typename Q, typename = std::enable_if_t< checkpoint::is_footprinter_v<SerializerT> >>
void serializeQueueLikeContainer(SerializerT& s,
const Q& q)
-
template<typename SerializerT, typename T, typename = std::enable_if_t< checkpoint::is_footprinter_v<SerializerT> >>
void serialize(SerializerT& s,
T* ptr)
- Serialize raw pointer
ptr
.
-
template<typename SerializerT, typename T>
void serializeRawPtr(SerializerT& s,
T* ptr)
-
template<typename SerializerT>
void serializeRawPtr(SerializerT& s,
void* ptr)
-
template<typename SerializerT, typename T, typename = std::enable_if_t< checkpoint::is_footprinter_v<SerializerT> >>
void serialize(SerializerT& s,
std::shared_ptr<T>& ptr)
-
template<typename Serializer>
void serializeStringMeta(Serializer& s,
std::string& str)
-
template<typename Serializer>
void serialize(Serializer& s,
std::string& str)
- Serialize string
str
.
-
template<typename SerializerT, typename = std::enable_if_t< checkpoint::is_footprinter_v<SerializerT> >>
void serialize(SerializerT& s,
const std::thread& t)
-
template<typename Serializer, typename... T, size_t... Idxs>
void tuple_helper(Serializer& s,
std::tuple<T...>& tup,
std::index_sequence<Idxs...>)
-
template<typename... T, size_t... Idxs>
void tuple_helper_reconstruct(std::tuple<T...>*& tup,
std::index_sequence<Idxs...>)
-
template<typename Serializer, typename... Args>
void serialize(Serializer& s,
std::tuple<Args...>& tuple)
-
template<typename Serializer, typename T, typename U>
void serialize(Serializer& s,
std::pair<T, U>& pair)
-
template<typename Serializer, typename T, typename Deleter>
void serialize(Serializer& s,
std::unique_ptr<T, Deleter>& ptr)
-
template<typename SerializerT, typename... Args>
void serialize(SerializerT& s,
std::variant<Args...>& v)
-
template<typename SerializerT, typename T, typename VectorAllocator>
auto serializeVectorMeta(SerializerT& s,
std::vector<T, VectorAllocator>& vec) -> std::enable_if_t<not checkpoint::is_footprinter_v<SerializerT>, SerialSizeType>
-
template<typename T, typename VectorAllocator>
void constructVectorData(SerialSizeType const vec_size,
std::vector<T, VectorAllocator>& vec,
isDefaultConsType<T>* = nullptr)
-
template<typename T, typename VectorAllocator>
void constructVectorData(SerialSizeType const vec_size,
std::vector<T, VectorAllocator>& vec,
isNotDefaultConsType<T>* = nullptr,
isCopyConstructible<T>* = nullptr)
-
template<typename T, typename VectorAllocator>
void constructVectorData(SerialSizeType const vec_size,
std::vector<T, VectorAllocator>& vec,
isNotDefaultConsType<T>* = nullptr,
isNotCopyConstructible<T>* = nullptr)
-
template<typename SerializerT, typename T, typename VectorAllocator>
auto serialize(SerializerT& s,
std::vector<T, VectorAllocator>& vec) -> std::enable_if_t<not checkpoint::is_footprinter_v<SerializerT>, void>
-
template<typename SerializerT, typename VectorAllocator>
auto serialize(SerializerT& s,
std::vector<bool, VectorAllocator>& vec) -> std::enable_if_t<not checkpoint::is_footprinter_v<SerializerT>, void>
-
template<typename SerializerT, typename T, typename VectorAllocator>
auto serialize(SerializerT& s,
std::vector<T, VectorAllocator>& vec) -> std::enable_if_t<checkpoint::is_footprinter_v<SerializerT>, void>
-
template<typename SerializerT, typename VectorAllocator>
auto serialize(SerializerT& s,
std::vector<bool, VectorAllocator>& vec) -> std::enable_if_t<checkpoint::is_footprinter_v<SerializerT>, void>
-
template<typename Serializer, typename T>
auto operator|(Serializer& s,
T& target) -> Serializer&
-
template<typename ObjT, typename... SerializerTs>
void instantiateObjSerializer()
-
template<typename SerializerT, typename T>
void reconstructPointedToObjectIfNeeded(SerializerT& s,
T*& target)
- Allocate and construct memory for a pointer with type
T
.
-
template<typename T>
void reconstruct(T)