$OpenBSD: patch-include_json_value_h,v 1.3 2018/02/18 20:50:25 jca Exp $

"explicit" on non-constructors are a C++11 feature
https://github.com/open-source-parsers/jsoncpp/commit/04abe38148d99b2a5270521935115d769a714adc

XXX Revert commit 23c44d9f9eed8a7ff95daca9bd44526067c144c0 to avoid
undefined references when linking cmake.

commit 23c44d9f9eed8a7ff95daca9bd44526067c144c0
Author: Dhruv Paranjape <lord.dhruv@gmail.com>
Date:   Sat Jul 8 12:00:47 2017

overload append function for R value references.

Index: include/json/value.h
--- include/json/value.h.orig
+++ include/json/value.h
@@ -322,10 +322,6 @@ Json::Value obj_value(Json::objectValue); // {}
   Value(bool value);
   /// Deep copy.
   Value(const Value& other);
-#if JSON_HAS_RVALUE_REFERENCES
-  /// Move constructor
-  Value(Value&& other);
-#endif
   ~Value();
 
   /// Deep copy, then swap(other).
@@ -401,7 +397,7 @@ Json::Value obj_value(Json::objectValue); // {}
   bool empty() const;
 
   /// Return !isNull()
-  explicit operator bool() const;
+  JSONCPP_OP_EXPLICIT operator bool() const;
 
   /// Remove all object members and array elements.
   /// \pre type() is arrayValue, objectValue, or nullValue
@@ -451,10 +447,6 @@ Json::Value obj_value(Json::objectValue); // {}
   ///
   /// 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.
