Core/Algorithm: Add serialize/unserialize overload for std::string

Former-commit-id: c4aa07b3ab8fcac85ac290ae5168bd841ce16dfd [formerly ee0f4fa822ec65aa72d43c9ab370402976713206] [formerly 9ec403e92a60b8ca97d7bc3e579ca5983089ba76 [formerly d7e17cc3ff72d43e23f11a70d785efcff3f4cba2]]
Former-commit-id: 190337087a987ca5ef1ac9789f04e3b9f2fc47af [formerly fc6bed4363a90b165db7fde093a6df37eeb9f45a]
Former-commit-id: 28d6dfe4b4217e91a7283e0fbe45d20ac982f79c
This commit is contained in:
Lynix
2016-09-25 01:48:57 +02:00
parent 19a6eee044
commit f434b753ff
2 changed files with 39 additions and 2 deletions

View File

@@ -11,6 +11,7 @@
#include <Nazara/Core/Enums.hpp>
#include <Nazara/Core/SerializationContext.hpp>
#include <functional>
#include <string>
#include <tuple>
#include <type_traits>
@@ -38,11 +39,13 @@ namespace Nz
struct TypeTag {};
inline bool Serialize(SerializationContext& context, bool value);
inline bool Serialize(SerializationContext& context, const std::string& value);
template<typename T>
std::enable_if_t<std::is_arithmetic<T>::value, bool> Serialize(SerializationContext& context, T value);
inline bool Unserialize(SerializationContext& context, bool* value);
inline bool Unserialize(SerializationContext& context, std::string* value);
template<typename T>
std::enable_if_t<std::is_arithmetic<T>::value, bool> Unserialize(SerializationContext& context, T* value);