16 #include <nn/pia/clone/clone_Definitions.h>
17 #include <nn/pia/common/common_ByteOrder.h>
54 template <
typename Type_>
55 class ReverseSerializePolicy
70 static void Serialize(
void* pBuffer,
const Type& value)
72 Reverse(reinterpret_cast<Type*>(pBuffer), &value);
83 static void Deserialize(Type* pValue,
const void* cpData)
85 Reverse(pValue, reinterpret_cast<const Type*>(cpData));
96 static uint32_t GetSize()
108 static const uint32_t Size =
sizeof(Type);
122 static void Reverse(Type* pTo,
const Type* cpFrom);
133 template <
typename T>
134 static void ReverseValue(T* pTo,
const T* cpFrom)
136 common::ByteOrder::Swap<sizeof(T)>(pTo, cpFrom);
139 NN_PIA_DISALLOW_COPY(ReverseSerializePolicy);
145 inline void ReverseSerializePolicy<uint8_t>::Reverse(Type* pTo,
const Type* pFrom)
147 ReverseValue(pTo, pFrom);
150 inline void ReverseSerializePolicy<int8_t>::Reverse(Type* pTo,
const Type* pFrom)
152 ReverseValue(pTo, pFrom);
155 inline void ReverseSerializePolicy<uint16_t>::Reverse(Type* pTo,
const Type* pFrom)
157 ReverseValue(pTo, pFrom);
160 inline void ReverseSerializePolicy<int16_t>::Reverse(Type* pTo,
const Type* pFrom)
162 ReverseValue(pTo, pFrom);
165 inline void ReverseSerializePolicy<uint32_t>::Reverse(Type* pTo,
const Type* pFrom)
167 ReverseValue(pTo, pFrom);
170 inline void ReverseSerializePolicy<int32_t>::Reverse(Type* pTo,
const Type* pFrom)
172 ReverseValue(pTo, pFrom);
175 inline void ReverseSerializePolicy<uint64_t>::Reverse(Type* pTo,
const Type* pFrom)
177 ReverseValue(pTo, pFrom);
180 inline void ReverseSerializePolicy<int64_t>::Reverse(Type* pTo,
const Type* pFrom)
182 ReverseValue(pTo, pFrom);
185 inline void ReverseSerializePolicy<float>::Reverse(Type* pTo,
const Type* pFrom)
187 ReverseValue(pTo, pFrom);
190 inline void ReverseSerializePolicy<double>::Reverse(Type* pTo,
const Type* pFrom)
192 ReverseValue(pTo, pFrom);