add free inline swap
functions
This commit is contained in:
parent
0ebe16e169
commit
46e1696316
@ -660,6 +660,8 @@ public:
|
|||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
friend inline void swap(GenericValue& a, GenericValue& b) RAPIDJSON_NOEXCEPT { a.Swap(b); }
|
||||||
|
|
||||||
//! Prepare Value for move semantics
|
//! Prepare Value for move semantics
|
||||||
/*! \return *this */
|
/*! \return *this */
|
||||||
GenericValue& Move() RAPIDJSON_NOEXCEPT { return *this; }
|
GenericValue& Move() RAPIDJSON_NOEXCEPT { return *this; }
|
||||||
@ -1818,6 +1820,8 @@ public:
|
|||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
friend inline void swap(GenericDocument& a, GenericDocument& b) RAPIDJSON_NOEXCEPT { a.Swap(b); }
|
||||||
|
|
||||||
//!@name Parse from stream
|
//!@name Parse from stream
|
||||||
//!@{
|
//!@{
|
||||||
|
|
||||||
|
@ -19,6 +19,7 @@
|
|||||||
#include "rapidjson/encodedstream.h"
|
#include "rapidjson/encodedstream.h"
|
||||||
#include "rapidjson/stringbuffer.h"
|
#include "rapidjson/stringbuffer.h"
|
||||||
#include <sstream>
|
#include <sstream>
|
||||||
|
#include <algorithm>
|
||||||
|
|
||||||
using namespace rapidjson;
|
using namespace rapidjson;
|
||||||
|
|
||||||
@ -223,6 +224,17 @@ TEST(Document, Swap) {
|
|||||||
Document().Swap(d2);
|
Document().Swap(d2);
|
||||||
EXPECT_TRUE(d2.IsNull());
|
EXPECT_TRUE(d2.IsNull());
|
||||||
EXPECT_NE(&d2.GetAllocator(), &a);
|
EXPECT_NE(&d2.GetAllocator(), &a);
|
||||||
|
|
||||||
|
// testing std::swap compatibility
|
||||||
|
d1.SetBool(true);
|
||||||
|
using std::swap;
|
||||||
|
swap(d1, d2);
|
||||||
|
EXPECT_TRUE(d1.IsNull());
|
||||||
|
EXPECT_TRUE(d2.IsTrue());
|
||||||
|
|
||||||
|
swap(o, d2);
|
||||||
|
EXPECT_TRUE(o.IsTrue());
|
||||||
|
EXPECT_TRUE(d2.IsArray());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -272,6 +272,12 @@ TEST(Value, Swap) {
|
|||||||
EXPECT_TRUE(v1.IsObject());
|
EXPECT_TRUE(v1.IsObject());
|
||||||
EXPECT_TRUE(v2.IsInt());
|
EXPECT_TRUE(v2.IsInt());
|
||||||
EXPECT_EQ(1234, v2.GetInt());
|
EXPECT_EQ(1234, v2.GetInt());
|
||||||
|
|
||||||
|
// testing std::swap compatibility
|
||||||
|
using std::swap;
|
||||||
|
swap(v1, v2);
|
||||||
|
EXPECT_TRUE(v1.IsInt());
|
||||||
|
EXPECT_TRUE(v2.IsObject());
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST(Value, Null) {
|
TEST(Value, Null) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user