Support long and unsined long as int and unsigned on Microsft platforms
This commit is contained in:
parent
8bf4f7b97c
commit
294a5aca8f
@ -451,6 +451,26 @@ struct TypeHelper<ValueType, unsigned> {
|
|||||||
static ValueType& Set(ValueType& v, unsigned data, typename ValueType::AllocatorType&) { return v.SetUint(data); }
|
static ValueType& Set(ValueType& v, unsigned data, typename ValueType::AllocatorType&) { return v.SetUint(data); }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
#ifdef _MSC_VER
|
||||||
|
RAPIDJSON_STATIC_ASSERT(sizeof(long) == sizeof(int));
|
||||||
|
template<typename ValueType>
|
||||||
|
struct TypeHelper<ValueType, long> {
|
||||||
|
static bool Is(const ValueType& v) { return v.IsInt(); }
|
||||||
|
static long Get(const ValueType& v) { return v.GetInt(); }
|
||||||
|
static ValueType& Set(ValueType& v, long data) { return v.SetInt(data); }
|
||||||
|
static ValueType& Set(ValueType& v, long data, typename ValueType::AllocatorType&) { return v.SetInt(data); }
|
||||||
|
};
|
||||||
|
|
||||||
|
RAPIDJSON_STATIC_ASSERT(sizeof(unsigned long) == sizeof(unsigned));
|
||||||
|
template<typename ValueType>
|
||||||
|
struct TypeHelper<ValueType, unsigned long> {
|
||||||
|
static bool Is(const ValueType& v) { return v.IsUint(); }
|
||||||
|
static unsigned long Get(const ValueType& v) { return v.GetUint(); }
|
||||||
|
static ValueType& Set(ValueType& v, unsigned long data) { return v.SetUint(data); }
|
||||||
|
static ValueType& Set(ValueType& v, unsigned long data, typename ValueType::AllocatorType&) { return v.SetUint(data); }
|
||||||
|
};
|
||||||
|
#endif
|
||||||
|
|
||||||
template<typename ValueType>
|
template<typename ValueType>
|
||||||
struct TypeHelper<ValueType, int64_t> {
|
struct TypeHelper<ValueType, int64_t> {
|
||||||
static bool Is(const ValueType& v) { return v.IsInt64(); }
|
static bool Is(const ValueType& v) { return v.IsInt64(); }
|
||||||
|
Loading…
x
Reference in New Issue
Block a user