Commit b0328d2d authored by ecorm's avatar ecorm

GenericDocument move-assignment now uses std::foward to move-assign the base class.

parent 20a9cd28
...@@ -1655,9 +1655,9 @@ public: ...@@ -1655,9 +1655,9 @@ public:
//! Move assignment in C++11 //! Move assignment in C++11
GenericDocument& operator=(GenericDocument&& rhs) RAPIDJSON_NOEXCEPT GenericDocument& operator=(GenericDocument&& rhs) RAPIDJSON_NOEXCEPT
{ {
// The static cast is necessary here, because otherwise it would // The cast to ValueType is necessary here, because otherwise it would
// attempt to call GenericValue's templated assignment operator. // attempt to call GenericValue's templated assignment operator.
ValueType::operator=(std::move(static_cast<ValueType&&>(rhs))); ValueType::operator=(std::forward<ValueType>(rhs));
// Calling the destructor here would prematurely call stack_'s destructor // Calling the destructor here would prematurely call stack_'s destructor
Destroy(); Destroy();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment