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); }
|
||||
};
|
||||
|
||||
#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>
|
||||
struct TypeHelper<ValueType, int64_t> {
|
||||
static bool Is(const ValueType& v) { return v.IsInt64(); }
|
||||
|
Loading…
x
Reference in New Issue
Block a user