| 21867 | } |
| 21868 | |
| 21869 | private: |
| 21870 | template < typename KeyType, detail::enable_if_t < |
| 21871 | detail::has_erase_with_key_type<basic_json_t, KeyType>::value, int > = 0 > |
| 21872 | size_type erase_internal(KeyType && key) |
| 21873 | { |
| 21874 | // this erase only works for objects |
| 21875 | if (JSON_HEDLEY_UNLIKELY(!is_object())) |
| 21876 | { |
| 21877 | JSON_THROW(type_error::create(307, detail::concat("cannot use erase() with ", type_name()), this)); |
| 21878 | } |
| 21879 | |
| 21880 | return m_data.m_value.object->erase(std::forward<KeyType>(key)); |
| 21881 | } |
| 21882 | |
| 21883 | template < typename KeyType, detail::enable_if_t < |
| 21884 | !detail::has_erase_with_key_type<basic_json_t, KeyType>::value, int > = 0 > |