ext/rj_schema/rapidjson/include/rapidjson/document.h in rj_schema-0.1.4 vs ext/rj_schema/rapidjson/include/rapidjson/document.h in rj_schema-0.2.0

- old
+ new

@@ -24,19 +24,17 @@ #include "encodedstream.h" #include <new> // placement new #include <limits> RAPIDJSON_DIAG_PUSH -#ifdef _MSC_VER -RAPIDJSON_DIAG_OFF(4127) // conditional expression is constant -RAPIDJSON_DIAG_OFF(4244) // conversion from kXxxFlags to 'uint16_t', possible loss of data -#endif - #ifdef __clang__ RAPIDJSON_DIAG_OFF(padded) RAPIDJSON_DIAG_OFF(switch-enum) RAPIDJSON_DIAG_OFF(c++98-compat) +#elif defined(_MSC_VER) +RAPIDJSON_DIAG_OFF(4127) // conditional expression is constant +RAPIDJSON_DIAG_OFF(4244) // conversion from kXxxFlags to 'uint16_t', possible loss of data #endif #ifdef __GNUC__ RAPIDJSON_DIAG_OFF(effc++) #if __GNUC__ >= 6 @@ -1513,11 +1511,11 @@ RAPIDJSON_ASSERT(last <= MemberEnd()); MemberIterator pos = MemberBegin() + (first - MemberBegin()); for (MemberIterator itr = pos; itr != last; ++itr) itr->~Member(); - std::memmove(&*pos, &*last, static_cast<size_t>(MemberEnd() - last) * sizeof(Member)); + std::memmove(static_cast<void*>(&*pos), &*last, static_cast<size_t>(MemberEnd() - last) * sizeof(Member)); data_.o.size -= static_cast<SizeType>(last - first); return pos; } //! Erase a member in object by its name. @@ -1716,12 +1714,12 @@ RAPIDJSON_ASSERT(first >= Begin()); RAPIDJSON_ASSERT(first <= last); RAPIDJSON_ASSERT(last <= End()); ValueIterator pos = Begin() + (first - Begin()); for (ValueIterator itr = pos; itr != last; ++itr) - itr->~GenericValue(); - std::memmove(pos, last, static_cast<size_t>(End() - last) * sizeof(GenericValue)); + itr->~GenericValue(); + std::memmove(static_cast<void*>(pos), last, static_cast<size_t>(End() - last) * sizeof(GenericValue)); data_.a.size -= static_cast<SizeType>(last - first); return pos; } Array GetArray() { RAPIDJSON_ASSERT(IsArray()); return Array(*this); } @@ -2032,16 +2030,11 @@ void SetArrayRaw(GenericValue* values, SizeType count, Allocator& allocator) { data_.f.flags = kArrayFlag; if (count) { GenericValue* e = static_cast<GenericValue*>(allocator.Malloc(count * sizeof(GenericValue))); SetElementsPointer(e); -RAPIDJSON_DIAG_PUSH -#if defined(__GNUC__) && __GNUC__ >= 8 -RAPIDJSON_DIAG_OFF(class-memaccess) // ignore complains from gcc that no trivial copy constructor exists. -#endif - std::memcpy(e, values, count * sizeof(GenericValue)); -RAPIDJSON_DIAG_POP + std::memcpy(static_cast<void*>(e), values, count * sizeof(GenericValue)); } else SetElementsPointer(0); data_.a.size = data_.a.capacity = count; } @@ -2050,15 +2043,10 @@ void SetObjectRaw(Member* members, SizeType count, Allocator& allocator) { data_.f.flags = kObjectFlag; if (count) { Member* m = static_cast<Member*>(allocator.Malloc(count * sizeof(Member))); SetMembersPointer(m); -RAPIDJSON_DIAG_PUSH -#if defined(__GNUC__) && __GNUC__ >= 8 -RAPIDJSON_DIAG_OFF(class-memaccess) // ignore complains from gcc that no trivial copy constructor exists. -#endif - std::memcpy(m, members, count * sizeof(Member)); -RAPIDJSON_DIAG_POP + std::memcpy(static_cast<void*>(m), members, count * sizeof(Member)); } else SetMembersPointer(0); data_.o.size = data_.o.capacity = count; }