overload append function for R value references.
diff --git a/include/json/value.h b/include/json/value.h
index 4aefb10..6b40831 100644
--- a/include/json/value.h
+++ b/include/json/value.h
@@ -447,6 +447,10 @@
/// Equivalent to jsonvalue[jsonvalue.size()] = value;
Value& append(const Value& value);
+#ifdef 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.
/// Exceeding that will cause an exception.
diff --git a/src/lib_json/json_value.cpp b/src/lib_json/json_value.cpp
index 49b88f9..adae5a1 100644
--- a/src/lib_json/json_value.cpp
+++ b/src/lib_json/json_value.cpp
@@ -1145,6 +1145,10 @@
Value& Value::append(const Value& value) { return (*this)[size()] = value; }
+#ifdef JSON_HAS_RVALUE_REFERENCES
+ Value& Value::append(Value&& value) { return (*this)[size()] = value; }
+#endif
+
Value Value::get(char const* key, char const* cend, Value const& defaultValue) const
{
Value const* found = find(key, cend);