👌 address review comments

This commit is contained in:
Niels Lohmann 2021-11-23 20:41:30 +01:00
parent 5379b5d091
commit 15e45981ea
No known key found for this signature in database
GPG Key ID: 7F3CEA63AE251B69
3 changed files with 10 additions and 10 deletions

View File

@ -7,9 +7,9 @@ const_reference operator[](size_type idx) const;
// (2)
template<typename KeyT>
reference operator[](KeyT && key);
reference operator[](const KeyT& key);
template<typename KeyT>
const_reference operator[](KeyT && key) const;
const_reference operator[](const KeyT& key) const;
// (3)
reference operator[](const json_pointer& ptr);

View File

@ -3750,7 +3750,7 @@ class basic_json // NOLINT(cppcoreguidelines-special-member-functions,hicpp-spec
*/
template < class KeyT, typename detail::enable_if_t <
detail::is_usable_as_key_type<basic_json_t, KeyT>::value&& !std::is_same<typename std::decay<KeyT>::type, json_pointer>::value, int > = 0 >
reference operator[](KeyT && key)
reference operator[](const KeyT& key)
{
// implicitly convert null value to an empty object
if (is_null())
@ -3763,7 +3763,7 @@ class basic_json // NOLINT(cppcoreguidelines-special-member-functions,hicpp-spec
// operator[] only works for objects
if (JSON_HEDLEY_LIKELY(is_object()))
{
auto result = m_value.object->emplace(std::forward<KeyT>(key), nullptr);
auto result = m_value.object->emplace(key, nullptr);
return set_parent(result.first->second);
}
@ -3803,12 +3803,12 @@ class basic_json // NOLINT(cppcoreguidelines-special-member-functions,hicpp-spec
*/
template < class KeyT, typename detail::enable_if_t <
detail::is_usable_as_key_type<basic_json_t, KeyT>::value&& !std::is_same<typename std::decay<KeyT>::type, json_pointer>::value, int > = 0 >
const_reference operator[](KeyT && key) const
const_reference operator[](const KeyT& key) const
{
// operator[] only works for objects
if (JSON_HEDLEY_LIKELY(is_object()))
{
auto it = m_value.object->find(std::forward<KeyT>(key));
auto it = m_value.object->find(key);
JSON_ASSERT(it != m_value.object->end());
return it->second;
}

View File

@ -21317,7 +21317,7 @@ class basic_json // NOLINT(cppcoreguidelines-special-member-functions,hicpp-spec
*/
template < class KeyT, typename detail::enable_if_t <
detail::is_usable_as_key_type<basic_json_t, KeyT>::value&& !std::is_same<typename std::decay<KeyT>::type, json_pointer>::value, int > = 0 >
reference operator[](KeyT && key)
reference operator[](const KeyT& key)
{
// implicitly convert null value to an empty object
if (is_null())
@ -21330,7 +21330,7 @@ class basic_json // NOLINT(cppcoreguidelines-special-member-functions,hicpp-spec
// operator[] only works for objects
if (JSON_HEDLEY_LIKELY(is_object()))
{
auto result = m_value.object->emplace(std::forward<KeyT>(key), nullptr);
auto result = m_value.object->emplace(key, nullptr);
return set_parent(result.first->second);
}
@ -21370,12 +21370,12 @@ class basic_json // NOLINT(cppcoreguidelines-special-member-functions,hicpp-spec
*/
template < class KeyT, typename detail::enable_if_t <
detail::is_usable_as_key_type<basic_json_t, KeyT>::value&& !std::is_same<typename std::decay<KeyT>::type, json_pointer>::value, int > = 0 >
const_reference operator[](KeyT && key) const
const_reference operator[](const KeyT& key) const
{
// operator[] only works for objects
if (JSON_HEDLEY_LIKELY(is_object()))
{
auto it = m_value.object->find(std::forward<KeyT>(key));
auto it = m_value.object->find(key);
JSON_ASSERT(it != m_value.object->end());
return it->second;
}