15 #include "sst/core/serialization/serializer.h"
16 #include "sst/core/warnmacros.h"
25 namespace Serialization {
32 template <
class T,
class Enable =
void>
35 inline void operator()(T& UNUSED(t),
serializer& UNUSED(ser)){
44 static_assert(std::is_fundamental<T>::value,
"Trying to serialize an object that is not serializable.");
45 static_assert(!std::is_fundamental<T>::value,
"Trying to serialize an object that is not serializable.");
53 class serialize <T, typename std::enable_if<std::is_fundamental<T>::value || std::is_enum<T>::value>::type> {
92 class serialize<T*,
typename std::enable_if<std::is_fundamental<T>::value || std::is_enum<T>::value>::type> {
94 inline void operator()(T*& t,
serializer& ser){
96 case serializer::SIZER:
99 case serializer::PACK:
102 case serializer::UNPACK:
113 template <
class U,
class V>
116 inline void operator()(std::pair<U,V>& t,
serializer& ser){
132 #include "sst/core/serialization/serialize_array.h"
133 #include "sst/core/serialization/serialize_deque.h"
134 #include "sst/core/serialization/serialize_list.h"
135 #include "sst/core/serialization/serialize_map.h"
136 #include "sst/core/serialization/serialize_set.h"
137 #include "sst/core/serialization/serialize_vector.h"
138 #include "sst/core/serialization/serialize_string.h"
140 #endif // SERIALIZE_H
This class is basically a wrapper for objects to declare the order in which their members should be s...
Definition: serializer.h:35
Base serialize class.
Definition: serialize.h:33