hash_multiset的特性与multiset完全相同,唯一的差别在于它的底层机制就是hashtable
也因此,hash_multiset的元素不会被自动排序
hash_multiset与hash_set唯一的区别就是在于前者从插入使用的是insert_equal
后者采用的是insert_unique
hashtable无法处理的型别,hash_multiset也没有办法处理
template <class Value,class HashFcn=hash<Value>,
class EqualKey=equal_to<Value>,
class Alloc=alloc>
class hash_multiset{
private:
typedef hashtable<Value,Value,HashFcn,identity<Value>,EqualKey,Alloc>ht;
ht rep;//底层机制是hashtable
public:
typedef typename ht::key_type key_type;
typedef typename ht::value_type value_type;
typedef typename ht::hasher hasher;
typedef typename ht::key_equal key_equal;
typedef typename ht::size_type size_type;
typedef typename ht::difference_type difference_type;
typedef typename ht::const_pointer const_pointer;
typedef typename ht::const_pointer pointer;
typedef typename ht::const_reference const_reference;
typedef typename ht::const_reference refe