diff --git a/3rdparty/include/meojson/common/array.hpp b/3rdparty/include/meojson/common/array.hpp index 7e172d2cf2..b693e599c3 100644 --- a/3rdparty/include/meojson/common/array.hpp +++ b/3rdparty/include/meojson/common/array.hpp @@ -112,6 +112,11 @@ public: basic_array& operator=(const basic_array&) = default; basic_array& operator=(basic_array&&) noexcept = default; + template >, bool> = true> + basic_array& operator=(value_t rhs) + { + return *this = basic_array(std::move(rhs)); + } bool operator==(const basic_array& rhs) const; bool operator!=(const basic_array& rhs) const { return !(*this == rhs); } diff --git a/3rdparty/include/meojson/common/object.hpp b/3rdparty/include/meojson/common/object.hpp index 6410bba482..56c327bbba 100644 --- a/3rdparty/include/meojson/common/object.hpp +++ b/3rdparty/include/meojson/common/object.hpp @@ -102,6 +102,11 @@ public: basic_object& operator=(const basic_object&) = default; basic_object& operator=(basic_object&&) = default; + template >, bool> = true> + basic_object& operator=(value_t rhs) + { + return *this = basic_object(std::move(rhs)); + } bool operator==(const basic_object& rhs) const; bool operator!=(const basic_object& rhs) const { return !(*this == rhs); } diff --git a/3rdparty/include/meojson/common/value.hpp b/3rdparty/include/meojson/common/value.hpp index cd3ba02ef5..bdc01af4b4 100644 --- a/3rdparty/include/meojson/common/value.hpp +++ b/3rdparty/include/meojson/common/value.hpp @@ -170,9 +170,9 @@ public: basic_value& operator=(const basic_value& rhs); basic_value& operator=(basic_value&&) noexcept; template >, bool> = true> - basic_value& operator=(value_t&& rhs) + basic_value& operator=(value_t rhs) { - return *this = basic_value(std::forward(rhs)); + return *this = basic_value(std::move(rhs)); } bool operator==(const basic_value& rhs) const;