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[]) {