Как-то некрасиво, не лаконично
template <class _Kty, class _Ty, class _Tr, class _Alloc>
void swap(hash_map<_Kty, _Ty, _Tr, _Alloc>& _Left, hash_map<_Kty, _Ty, _Tr, _Alloc>& _Right) noexcept(
noexcept(_Left.swap(_Right))) {
_Left.swap(_Right);
}
template <class _Kty, class _Ty, class _Tr, class _Alloc>
_NODISCARD bool operator==(
const hash_map<_Kty, _Ty, _Tr, _Alloc>& _Left, const hash_map<_Kty, _Ty, _Tr, _Alloc>& _Right) {
return _STD _Hash_equal(_Left, _Right);
}