remove JSON_HAS_RVALUE_REFERENCES
diff --git a/include/json/config.h b/include/json/config.h
index 541d168..8c60508 100644
--- a/include/json/config.h
+++ b/include/json/config.h
@@ -97,30 +97,6 @@
#define JSONCPP_OP_EXPLICIT
#endif
-#ifndef JSON_HAS_RVALUE_REFERENCES
-
-#if defined(_MSC_VER)
-#define JSON_HAS_RVALUE_REFERENCES 1
-#endif // MSVC >= 2013
-
-#ifdef __clang__
-#if __has_feature(cxx_rvalue_references)
-#define JSON_HAS_RVALUE_REFERENCES 1
-#endif // has_feature
-
-#elif defined __GNUC__ // not clang (gcc comes later since clang emulates gcc)
-#if defined(__GXX_EXPERIMENTAL_CXX0X__) || (__cplusplus >= 201103L)
-#define JSON_HAS_RVALUE_REFERENCES 1
-#endif // GXX_EXPERIMENTAL
-
-#endif // __clang__ || __GNUC__
-
-#endif // not defined JSON_HAS_RVALUE_REFERENCES
-
-#ifndef JSON_HAS_RVALUE_REFERENCES
-#define JSON_HAS_RVALUE_REFERENCES 0
-#endif
-
#ifdef __clang__
#if __has_extension(attribute_deprecated_with_message)
#define JSONCPP_DEPRECATED(message) __attribute__((deprecated(message)))
diff --git a/include/json/value.h b/include/json/value.h
index a62f482..69a0ed2 100644
--- a/include/json/value.h
+++ b/include/json/value.h
@@ -251,15 +251,10 @@
CZString(ArrayIndex index);
CZString(char const* str, unsigned length, DuplicationPolicy allocate);
CZString(CZString const& other);
-#if JSON_HAS_RVALUE_REFERENCES
CZString(CZString&& other);
-#endif
~CZString();
CZString& operator=(const CZString& other);
-
-#if JSON_HAS_RVALUE_REFERENCES
CZString& operator=(CZString&& other);
-#endif
bool operator<(CZString const& other) const;
bool operator==(CZString const& other) const;
@@ -468,10 +463,7 @@
///
/// Equivalent to jsonvalue[jsonvalue.size()] = value;
Value& append(const Value& value);
-
-#if JSON_HAS_RVALUE_REFERENCES
Value& append(Value&& value);
-#endif
/// Access an object value by name, create a null member if it does not exist.
/// \note Because of our implementation, keys are limited to 2^30 -1 chars.
diff --git a/src/lib_json/json_value.cpp b/src/lib_json/json_value.cpp
index 5ce0079..fe5d8b3 100644
--- a/src/lib_json/json_value.cpp
+++ b/src/lib_json/json_value.cpp
@@ -276,12 +276,10 @@
storage_.length_ = other.storage_.length_;
}
-#if JSON_HAS_RVALUE_REFERENCES
Value::CZString::CZString(CZString&& other)
: cstr_(other.cstr_), index_(other.index_) {
other.cstr_ = nullptr;
}
-#endif
Value::CZString::~CZString() {
if (cstr_ && storage_.policy_ == duplicate) {
@@ -304,14 +302,12 @@
return *this;
}
-#if JSON_HAS_RVALUE_REFERENCES
Value::CZString& Value::CZString::operator=(CZString&& other) {
cstr_ = other.cstr_;
index_ = other.index_;
other.cstr_ = nullptr;
return *this;
}
-#endif
bool Value::CZString::operator<(const CZString& other) const {
if (!cstr_)
@@ -1169,11 +1165,9 @@
Value& Value::append(const Value& value) { return (*this)[size()] = value; }
-#if JSON_HAS_RVALUE_REFERENCES
Value& Value::append(Value&& value) {
return (*this)[size()] = std::move(value);
}
-#endif
Value Value::get(char const* begin,
char const* end,
@@ -1198,11 +1192,7 @@
if (it == value_.map_->end())
return false;
if (removed)
-#if JSON_HAS_RVALUE_REFERENCES
*removed = std::move(it->second);
-#else
- *removed = it->second;
-#endif
value_.map_->erase(it);
return true;
}
diff --git a/src/test_lib_json/main.cpp b/src/test_lib_json/main.cpp
index 27fb4a2..2df51b5 100644
--- a/src/test_lib_json/main.cpp
+++ b/src/test_lib_json/main.cpp
@@ -2499,7 +2499,6 @@
struct RValueTest : JsonTest::TestCase {};
JSONTEST_FIXTURE(RValueTest, moveConstruction) {
-#if JSON_HAS_RVALUE_REFERENCES
Json::Value json;
json["key"] = "value";
Json::Value moved = std::move(json);
@@ -2507,7 +2506,6 @@
// equal.
JSONTEST_ASSERT_EQUAL(Json::objectValue, moved.type());
JSONTEST_ASSERT_EQUAL(Json::stringValue, moved["key"].type());
-#endif
}
int main(int argc, const char* argv[]) {