| 21731 | } |
| 21732 | |
| 21733 | private: |
| 21734 | template < typename KeyType, detail::enable_if_t < |
| 21735 | detail::has_erase_with_key_type<basic_json_t, KeyType>::value, int > = 0 > |
| 21736 | size_type erase_internal(KeyType && key) |
| 21737 | { |
| 21738 | // this erase only works for objects |
| 21739 | if (JSON_HEDLEY_UNLIKELY(!is_object())) |
| 21740 | { |
| 21741 | JSON_THROW(type_error::create(307, detail::concat("cannot use erase() with ", type_name()), this)); |
| 21742 | } |
| 21743 | |
| 21744 | return m_value.object->erase(std::forward<KeyType>(key)); |
| 21745 | } |
| 21746 | |
| 21747 | template < typename KeyType, detail::enable_if_t < |
| 21748 | !detail::has_erase_with_key_type<basic_json_t, KeyType>::value, int > = 0 > |