Skip to content

Commit 88a1ba9

Browse files
committed
Provide default implementations for move constructor/assignment in GenericMember
1 parent c36b713 commit 88a1ba9

File tree

1 file changed

+8
-2
lines changed

1 file changed

+8
-2
lines changed

include/rapidjson/document.h

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -70,10 +70,16 @@ class GenericMember {
7070

7171
#if RAPIDJSON_HAS_CXX11_RVALUE_REFS
7272
//! Move constructor in C++11
73-
GenericMember(GenericMember&& rhs) RAPIDJSON_NOEXCEPT = default;
73+
GenericMember(GenericMember&& rhs) RAPIDJSON_NOEXCEPT
74+
: name(std::move(rhs.name)),
75+
value(std::move(rhs.value))
76+
{
77+
}
7478

7579
//! Move assignment in C++11
76-
GenericMember& operator=(GenericMember&& rhs) RAPIDJSON_NOEXCEPT = default;
80+
GenericMember& operator=(GenericMember&& rhs) RAPIDJSON_NOEXCEPT {
81+
return *this = static_cast<GenericMember&>(rhs);
82+
}
7783
#endif
7884

7985
//! Assignment with move semantics.

0 commit comments

Comments
 (0)