mirror of
https://github.com/open-source-parsers/jsoncpp.git
synced 2025-04-21 00:11:50 +02:00
Revert "Switch to copy-and-swap idiom for operator=."
This reverts commit 45cd9490cd261da31cef84a44d2c587be7e26e99. Ignored ValueInternal* changes, since those did not produce symbols for Debian build. (They must not have used the INTERNAL stuff.) 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:
parent
2c1f9195d6
commit
096c81de85
@ -172,7 +172,7 @@ private:
|
||||
CZString(const char* cstr, DuplicationPolicy allocate);
|
||||
CZString(const CZString& other);
|
||||
~CZString();
|
||||
CZString& operator=(CZString other);
|
||||
CZString &operator=(const CZString &other);
|
||||
bool operator<(const CZString& other) const;
|
||||
bool operator==(const CZString& other) const;
|
||||
ArrayIndex index() const;
|
||||
@ -241,7 +241,7 @@ Json::Value obj_value(Json::objectValue); // {}
|
||||
~Value();
|
||||
|
||||
// Deep copy, then swap(other).
|
||||
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.
|
||||
|
@ -192,8 +192,9 @@ void Value::CZString::swap(CZString& other) {
|
||||
std::swap(index_, other.index_);
|
||||
}
|
||||
|
||||
Value::CZString& Value::CZString::operator=(CZString other) {
|
||||
swap(other);
|
||||
Value::CZString &Value::CZString::operator=(const CZString &other) {
|
||||
CZString temp(other);
|
||||
swap(temp);
|
||||
return *this;
|
||||
}
|
||||
|
||||
@ -409,8 +410,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;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user