partially revert "Switch to copy-and-swap idiom for operator=."

This partially reverts commit 45cd9490cd261da31cef84a44d2c587be7e26e99.

Ignored ValueInternal* changes, since those did not produce symbols for
Debian build. (They must not have used the INTERNAL stuff.)

Ignored CZString changes since those are private (and sizeof struct did
not change).

  https://github.com/open-source-parsers/jsoncpp/issues/78

Conflicts:
	include/json/value.h
	src/lib_json/json_internalarray.inl
	src/lib_json/json_internalmap.inl
	src/lib_json/json_value.cpp
This commit is contained in:
Christopher Dunn 2014-11-17 00:13:18 -06:00
parent e49bd30950
commit 1c4f6a2d79
2 changed files with 4 additions and 3 deletions

View File

@ -283,7 +283,7 @@ Json::Value obj_value(Json::objectValue); // {}
/// Deep copy, then swap(other).
/// \note Over-write existing comments. To preserve comments, use #swapPayload().
Value& operator=(Value other);
Value &operator=(const Value &other);
/// Swap everything.
void swap(Value& other);
/// Swap values but leave comments and source offsets in place.

View File

@ -466,8 +466,9 @@ Value::~Value() {
delete[] comments_;
}
Value& Value::operator=(Value other) {
swap(other);
Value &Value::operator=(const Value &other) {
Value temp(other);
swap(temp);
return *this;
}