123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107 |
- //
- // JsonSerializeTraits.h
- // cocos2d_libs
- //
- // Created by 徐俊杰 on 2020/6/11.
- //
- #ifndef JsonSerializeTraits_h
- #define JsonSerializeTraits_h
- #include "rparticle/Macros/RParticleMacros.h"
- #include "rparticle/Utilities/dynamic_array.h"
- #include "rparticle/Serialize/SerializeTraits.h"
- NS_RRP_BEGIN
- template<class T>
- class JsonSerializeTraits
- {
- public:
- template<class TransferFunction> inline
- static void Transfer (T& data, TransferFunction& transfer)
- {
- SerializeTraits<T>::Transfer (data, transfer);
- // data.Transfer (transfer);
- // transfer.TransferDeepData(data);
- }
- };
- /*
- template<class T>
- class JsonSerializeTraitsForBasicType
- {
- public:
- template<class TransferFunction> inline
- static void Transfer (T& data, TransferFunction& transfer)
- {
- transfer.TransferBasicData(data);
- }
- };
- template<>
- class JsonSerializeTraits<UInt16> : public JsonSerializeTraitsForBasicType<UInt16> {};
- template<>
- class JsonSerializeTraits<SInt16> : public JsonSerializeTraitsForBasicType<SInt16> {};
- template<>
- class JsonSerializeTraits<UInt32> : public JsonSerializeTraitsForBasicType<UInt32> {};
- template<>
- class JsonSerializeTraits<SInt32> : public JsonSerializeTraitsForBasicType<SInt32> {};
- template<>
- class JsonSerializeTraits<UInt64> : public JsonSerializeTraitsForBasicType<UInt64> {};
- template<>
- class JsonSerializeTraits<SInt64> : public JsonSerializeTraitsForBasicType<SInt64> {};
- template<>
- class JsonSerializeTraits<UInt8> : public JsonSerializeTraitsForBasicType<UInt8> {};
- template<>
- class JsonSerializeTraits<SInt8> : public JsonSerializeTraitsForBasicType<SInt8> {};
- template<>
- class JsonSerializeTraits<char> : public JsonSerializeTraitsForBasicType<char> {};
- template<>
- class JsonSerializeTraits<bool> : public JsonSerializeTraitsForBasicType<bool> {};
- template<>
- class JsonSerializeTraits<float> : public JsonSerializeTraitsForBasicType<float> {};
- template<>
- class JsonSerializeTraits<double> : public JsonSerializeTraitsForBasicType<double> {};
- template<>
- class JsonSerializeTraits<std::string> : public JsonSerializeTraitsForBasicType<std::string> {};
- template<class T, size_t align>
- class JsonSerializeTraits<dynamic_array<T, align> >// : public JsonSerializeTraitsBase<dynamic_array<T, align> >
- {
- public:
-
- typedef dynamic_array<T, align> value_type;
- // DEFINE_GET_TYPESTRING_CONTAINER (vector)
-
- template<class TransferFunction> inline
- static void Transfer (value_type& data, TransferFunction& transfer)
- {
- transfer.TransferSTLStyleArray (data);
- }
-
- static bool IsContinousMemoryArray () { return true; }
- static void ResizeSTLStyleArray (value_type& data, int rs) { data.resize_initialized(rs); }
-
- static void resource_image_assign_external (value_type& data, void* begin, void* end)
- {
- data.assign_external(reinterpret_cast<T*> (begin), reinterpret_cast<T*> (end));
- }
- };
- */
- NS_RRP_END
- #endif /* JsonSerializeTraits_h */
|