set for a specified number of        *          elements.        *  @param  __n Number of elements required.        *        *  Same as rehash(ceil(n / max_load_factor())).        */       void       reserve(size_type __n)       { _M_h.reserve(__n); }        template<typename _Value0, typename _Hash0, typename _Pred0,         typename _Alloc0>         friend bool       operator==(const unordered_multiset<_Value0, _Hash0, _Pred0, _Alloc0>&,    const unordered_multiset<_Value0, _Hash0, _Pred0, _Alloc0>&);     };    template<class _Value, class _Hash, class _Pred, class _Alloc>     inline void     swap(unordered_set<_Value, _Hash, _Pred, _Alloc>& __x,   unordered_set<_Value, _Hash, _Pred, _Alloc>& __y)     { __x.swap(__y); }    template<class _Value, class _Hash, class _Pred, class _Alloc>     inline void     swap(unordered_multiset<_Value, _Hash, _Pred, _Alloc>& __x,   unordered_multiset<_Value, _Hash, _Pred, _Alloc>& __y)     { __x.swap(__y); }    template<class _Value, class _Hash, class _Pred, class _Alloc>     inline bool     operator==(const unordered_set<_Value, _Hash, _Pred, _Alloc>& __x,         const unordered_set<_Value, _Hash, _Pred, _Alloc>& __y)     { return __x._M_h._M_equal(__y._M_h); }    template<class _Value, class _Hash, class _Pred, class _Alloc>     inline bool     operator!=(const unordered_set<_Value, _Hash, _Pred, _Alloc>& __x,         const unordered_set<_Value, _Hash, _Pred, _Alloc>& __y)     { return !(__x == __y); }    template<class _Value, class _Hash, class _Pred, class _Alloc>     inline bool     operator==(const unordered_multiset<_Value, _Hash, _Pred, _Alloc>& __x,         const unordered_multiset<_Value, _Hash, _Pred, _Alloc>& __y)     { return __x._M_h._M_equal(__y._M_h); }    template<class _Value, class _Hash, class _Pred, class _Alloc>     inline bool     operator!=(const unordered_multiset<_Value, _Hash, _Pred, _Alloc>& __x,         const unordered_multiset<_Value, _Hash, _Pred, _Alloc>& __y)     { return !(__x == __y); }  