use SwapPayload() to retain comments

All tests pass, but we might be missing coverage.

issue #47
This commit is contained in:
Christopher Dunn
2015-01-20 11:02:22 -06:00
parent 94b0297dc5
commit 66eb72f121
3 changed files with 14 additions and 10 deletions

View File

@@ -235,23 +235,26 @@ Json::Value obj_value(Json::objectValue); // {}
Value(const CppTL::ConstString& value);
#endif
Value(bool value);
/// Deep copy.
Value(const Value& other);
~Value();
// Deep copy, then swap(other).
Value& operator=(Value other);
/// Swap values.
/// Swap everything.
void swap(Value& other);
/// Swap values but leave comments and source offsets in place.
void swapPayload(Value& other);
ValueType type() const;
/// Compare payload only, not comments etc.
bool operator<(const Value& other) const;
bool operator<=(const Value& other) const;
bool operator>=(const Value& other) const;
bool operator>(const Value& other) const;
bool operator==(const Value& other) const;
bool operator!=(const Value& other) const;
int compare(const Value& other) const;
const char* asCString() const;
@@ -442,9 +445,6 @@ private:
Value& resolveReference(const char* key, bool isStatic);
/// Swap values but leave comments and source offsets in place.
void swapPayload(Value& other);
#ifdef JSON_VALUE_USE_INTERNAL_MAP
inline bool isItemAvailable() const { return itemIsUsed_ == 0; }