Skip to content

Commit

Permalink
Merge pull request #2181 from dota17/issue#1275
Browse files Browse the repository at this point in the history
Fix issue#1275
  • Loading branch information
nlohmann committed Jun 23, 2020
2 parents 4bfe4ad + 4a6c68c commit 8575fdf
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 12 deletions.
12 changes: 6 additions & 6 deletions include/nlohmann/json.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -3770,7 +3770,7 @@ class basic_json
template<class ValueType, typename std::enable_if<
std::is_convertible<basic_json_t, ValueType>::value
and not std::is_same<value_t, ValueType>::value, int>::type = 0>
ValueType value(const typename object_t::key_type& key, const ValueType& default_value) const
ValueType value(const typename object_t::key_type& key, ValueType && default_value) const
{
// at only works for objects
if (JSON_HEDLEY_LIKELY(is_object()))
Expand All @@ -3782,7 +3782,7 @@ class basic_json
return *it;
}

return default_value;
return std::move(default_value);
}

JSON_THROW(type_error::create(306, "cannot use value() with " + std::string(type_name())));
Expand All @@ -3794,7 +3794,7 @@ class basic_json
*/
string_t value(const typename object_t::key_type& key, const char* default_value) const
{
return value(key, string_t(default_value));
return value(key, std::move(string_t(default_value)));
}

/*!
Expand Down Expand Up @@ -3842,7 +3842,7 @@ class basic_json
*/
template<class ValueType, typename std::enable_if<
std::is_convertible<basic_json_t, ValueType>::value, int>::type = 0>
ValueType value(const json_pointer& ptr, const ValueType& default_value) const
ValueType value(const json_pointer& ptr, ValueType && default_value) const
{
// at only works for objects
if (JSON_HEDLEY_LIKELY(is_object()))
Expand All @@ -3854,7 +3854,7 @@ class basic_json
}
JSON_INTERNAL_CATCH (out_of_range&)
{
return default_value;
return std::move(default_value);
}
}

Expand All @@ -3868,7 +3868,7 @@ class basic_json
JSON_HEDLEY_NON_NULL(3)
string_t value(const json_pointer& ptr, const char* default_value) const
{
return value(ptr, string_t(default_value));
return value(ptr, std::move(string_t(default_value)));
}

/*!
Expand Down
12 changes: 6 additions & 6 deletions single_include/nlohmann/json.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -19575,7 +19575,7 @@ class basic_json
template<class ValueType, typename std::enable_if<
std::is_convertible<basic_json_t, ValueType>::value
and not std::is_same<value_t, ValueType>::value, int>::type = 0>
ValueType value(const typename object_t::key_type& key, const ValueType& default_value) const
ValueType value(const typename object_t::key_type& key, ValueType && default_value) const
{
// at only works for objects
if (JSON_HEDLEY_LIKELY(is_object()))
Expand All @@ -19587,7 +19587,7 @@ class basic_json
return *it;
}

return default_value;
return std::move(default_value);
}

JSON_THROW(type_error::create(306, "cannot use value() with " + std::string(type_name())));
Expand All @@ -19599,7 +19599,7 @@ class basic_json
*/
string_t value(const typename object_t::key_type& key, const char* default_value) const
{
return value(key, string_t(default_value));
return value(key, std::move(string_t(default_value)));
}

/*!
Expand Down Expand Up @@ -19647,7 +19647,7 @@ class basic_json
*/
template<class ValueType, typename std::enable_if<
std::is_convertible<basic_json_t, ValueType>::value, int>::type = 0>
ValueType value(const json_pointer& ptr, const ValueType& default_value) const
ValueType value(const json_pointer& ptr, ValueType && default_value) const
{
// at only works for objects
if (JSON_HEDLEY_LIKELY(is_object()))
Expand All @@ -19659,7 +19659,7 @@ class basic_json
}
JSON_INTERNAL_CATCH (out_of_range&)
{
return default_value;
return std::move(default_value);
}
}

Expand All @@ -19673,7 +19673,7 @@ class basic_json
JSON_HEDLEY_NON_NULL(3)
string_t value(const json_pointer& ptr, const char* default_value) const
{
return value(ptr, string_t(default_value));
return value(ptr, std::move(string_t(default_value)));
}

/*!
Expand Down

0 comments on commit 8575fdf

Please sign in to comment.