Or login with:
#include <hash_set> namespace std{ template < class Key, class Traits = hash_compare<Key, less<Key> >, class Allocator = allocator<Key> > class hash_multiset; }Parameters:
| Parameter | Description |
|---|---|
| Key | The element data type to be stored in the hash_multiset |
| Traits | The type which includes two function objects, one of class compare that is a binary predicate able to compare two element values as sort keys to determine their relative order and a hash function that is a unary predicate mapping key values of the elements to unsigned integers of type size_t. This argument is optional, and the hash_compare<Key, less<Key> > is the default value |
| Allocator | The type that represents the stored allocator object that encapsulates details about the hash_multiset's allocation and de-allocation of memory. This argument is optional, and the default value is allocator<Key> |
// Create an empty hash_multiset hms0 of key type integer hash_multiset <int> hms0; // Create an empty hash_multiset hms1 with the key comparison function of less than hash_multiset<int, hash_compare<int, less<int> > > hms1; // Create an empty hash_multiset hms2 with the key comparison function of greater than hash_multiset<int, hash_compare<int, greater<int> > > hms2;
| Operator | Description |
|---|---|
| operator!= | Tests if the hash_multiset object on the left side of the operator is not equal to the hash_multiset object on the right side |
| operator< | Tests if the hash_multiset object on the left side of the operator is less than the hash_multiset object on the right side |
| operator<= | Tests if the hash_multiset object on the left side of the operator is less than or equal to the hash_multiset object on the right side |
| operator== | Tests if the hash_multiset object on the left side of the operator is equal to the hash_multiset object on the right side |
| operator> | Tests if the hash_multiset object on the left side of the operator is greater than the hash_multiset object on the right side |
| operator>= | Tests if the hash_multiset object on the left side of the operator is greater than or equal to the hash_multiset object on the right side |
| Class | Description |
|---|---|
| hash_compare | Describes an object that can be used by any of the hash associative containers - hash_map, hash_multimap, hash_set, or hash_multiset - as a default Traits parameter object to order and hash the elements they contain |
| hash_multiset | Used for the storage and fast retrieval of data from a collection in which the values of the elements contained are unique and serve as the key values |
| Typedef | Description |
|---|---|
| allocator_type | A type that represents the allocator class for the hash_multiset object |
| const_iterator | A type that provides a bidirectional iterator that can read a const element in the hash_multiset |
| const_pointer | A type that provides a pointer to a const element in a hash_multiset |
| const_reference | A type that provides a reference to a const element stored in a hash_multiset for reading and performing const operations |
| const_reverese_iterator | A type that provides a bidirectional iterator that can read any const element in the hash_multiset |
| difference_type | A signed integer type that provides the difference between two iterators that address elements within the same hash_multiset |
| iterator | A type that provides a bidirectional iterator that can read or modify any element in a hash_multiset |
| key_compare | A type that provides a function object that can compare two sort keys to determine the relative order of two elements in the hash_multiset |
| key_type | A type that provides a function object that can compare sort keys to determine the relative order of two elements in the hash_multiset |
| pointer | A type that provides a pointer to an element in a hash_multiset |
| reference | A type that provides a reference to an element stored in a hash_multiset |
| reverse_iterator | A type that provides a bidirectional iterator that can read or modify an element in a reversed hash_multiset |
| size_type | An unsigned integer type that can represent the number of elements in a hash_multiset |
| value_compare | A type that provides two function objects, a binary predicate of class compare that can compare two element values of a hash_multiset to determine their relative order and a unary predicate that hashes the elements |
| value_type | A type that describes an object stored as an element of a hash_multiset in its capacity as a value |
| Function | Description |
|---|---|
| hash_multiset() | hash_multiset constructor, constructs a hash_multiset that is empty or that is a copy of all or part of some other hash_multiset |
| begin() | Returns an iterator that addresses the first element in the hash_multiset |
| rbegin() | Returns an iterator addressing the first element in a reversed hash_multiset |
| end() | Returns an iterator that addresses the location succeeding the last element in a hash_multiset |
| rend() | Returns an iterator that addresses the location succeeding the last element in a reversed hash_multiset |
| clear() | Erases all the elements of a hash_multiset |
| count() | Returns the number of elements in a hash_multiset whose key matches a parameter-specified key |
| empty() | Tests if a hash_multiset is empty |
| equal_range | Returns a pair of iterators respectively to the first element in a hash_multiset with a key that is greater than a specified key and to the first element in the hash_multiset with a key that is equal to or greater than the key |
| find() | Returns an iterator addressing the location of an element in a hash_multiset that has a key equivalent to a specified key |
| insert() | Inserts an element or a range of elements into a hash_multiset |
| erase() | Removes an element or a range of elements in a hash_multiset from specified positions or removes elements that match a specified key |
| get_allocator() | Returns a copy of the allocator object used to construct the hash_multiset |
| key_comp() | Retrieves a copy of the comparison object used to order keys in a hash_multiset |
| lower_bound() | Returns an iterator to the first element in a hash_multiset with a key that is equal to or greater than a specified key |
| upper_bound() | Returns an iterator to the first element in a hash_set that with a key that is greater than a specified key |
| size() | Returns the number of elements in the hash_multiset |
| max_size() | Returns the maximum length of the hash_multiset |
| swap() | Exchanges the elements of two hash_multisets |
| value_comp() | Retrieves a copy of the hash traits object used to hash and order element key values in a hash_multiset |
#define _DEFINE_DEPRECATED_HASH_CLASSES 0 #include <iostream> #include <hash_set> using namespace std; using namespace stdext; int main() { hash_multiset <int> hms1; hash_multiset <int>::iterator hms1_Iter; hash_multiset <int>::const_iterator hms1_cIter; hms1.insert( 1 ); hms1.insert( 2 ); hms1.insert( 3 ); hms1_Iter = hms1.begin( ); cout<<"The first element of hms1 is "<<*hms1_Iter<<endl; hms1_Iter = hms1.begin( ); hms1.erase( hms1_Iter ); // The following 2 lines would err because the iterator is const // hms1_cIter = hms1.begin( ); // hms1.erase( hms1_cIter ); hms1_cIter = hms1.begin( ); cout <<"The first element of hms1 is now "<<*hms1_cIter<<endl; return 0; }
You must login to leave a messge