struct eqstr
{
bool operator()(const char* s1, const char* s2) const
{
return strcmp(s1, s2) == 0;
}
};
void lookup(const hash_set<const char*, hash<const char*>, eqstr>& Set,
const char* word)
{
hash_set<const char*, hash<const char*>, eqstr>::const_iterator it
= Set.find(word);
cout << word << ": "
<< (it != Set.end() ? "present" : "not present")
<< endl;
}
int main()
{
hash_set<const char*, hash<const char*>, eqstr> Set;
Set.insert("kiwi");
Set.insert("plum");
Set.insert("apple");
Set.insert("mango");
Set.insert("apricot");
Set.insert("banana");
lookup(Set, "mango");
lookup(Set, "apple");
lookup(Set, "durian");
}
None.
Member | Where defined | Description |
value_type | Container | The type of object, T , stored in the hash_set. |
key_type | AssociativeContainer | The key type associated with value_type . |
hasher | HashedAssociativeContainer | The hash_set 's HashFunction. |
key_equal | HashedAssociativeContainer | functors that compares keys for equality. |
pointer | Container | Pointer to T . |
reference | Container | Reference to T |
const_reference | Container | Const reference to T |
size_type | Container | An unsigned integral type. |
difference_type | Container | A signed integral type. |
iterator | Container | Iterator used to iterate through a hash_set . |
const_iterator | Container | Const iterator used to iterate through a hash_set . (Iterator and const_iterator are the same type.) |
iterator begin() const | Container | Returns an iterator pointing to the beginning of the hash_set . |
iterator end() const | Container | Returns an iterator pointing to the end of the hash_set . |
size_type size() const | Container | Returns the size of the hash_set . |
size_type max_size() const | Container | Returns the largest possible size of the hash_set . |
bool empty() const | Container | true if the hash_set 's size is 0 . |
size_type bucket_count() const | HashedAssociativeContainer | Returns the number of buckets used by the hash_set . |
void resize(size_type n) | HashedAssociativeContainer | Increases the bucket count to at least n . |
hasher hash_funct() const | HashedAssociativeContainer | Returns the hasher object used by the hash_set . |
key_equal key_eq() const | HashedAssociativeContainer | Returns the key_equal object used by the hash_set . |
hash_set() | Container | Creates an empty hash_set . |
hash_set(size_type n) | HashedAssociativeContainer | Creates an empty hash_set with at least n buckets. |
hash_set(size_type n,
const hasher& h)
| HashedAssociativeContainer | Creates an empty hash_set with at least n buckets, using h as the hash function. |
hash_set(size_type n,
const hasher& h,
const key_equal& k)
| HashedAssociativeContainer | Creates an empty hash_set with at least n buckets, using h as the hash function and k as the key equal function. |
template <class InputIterator>
hash_set(InputIterator f, InputIterator l)
[1] | UniqueHashedAssociativeContainer | Creates a hash_set with a copy of a range. |
template <class InputIterator>
hash_set(InputIterator f, InputIterator l,
size_type n)
[1] | UniqueHashedAssociativeContainer | Creates a hash_set with a copy of a range and a bucket count of at least n . |
template <class InputIterator>
hash_set(InputIterator f, InputIterator l,
size_type n, const hasher& h)
[1] | UniqueHashedAssociativeContainer | Creates a hash_set with a copy of a range and a bucket count of at least n , using h as the hash function. |
hash_set(InputIterator f, InputIterator l,
size_type n, const hasher& h,
const key_equal& k)
[1] | UniqueHashedAssociativeContainer | Creates a hash_set with a copy of a range and a bucket count of at least n , using h as the hash function and k as the key equal function. |
hash_set(const hash_set&) | Container | The copy constructor. |
hash_set& operator=(const hash_set&) | Container | The assignment operator |
void swap(hash_set&) | Container | Swaps the contents of two hash_sets. |
pair<iterator, bool>
insert(const value_type& x)
| UniqueAssociativeContainer | Inserts x into the hash_set . |
template <class InputIterator>
void insert(InputIterator f, InputIterator l)
[1] | UniqueAssociativeContainer | Inserts a range into the hash_set . |
void erase(iterator pos) | AssociativeContainer | Erases the element pointed to by pos . |
size_type erase(const key_type& k) | AssociativeContainer | Erases the element whose key is k . |
void erase(iterator first, iterator last) | AssociativeContainer | Erases all elements in a range. |
void clear() | AssociativeContainer | Erases all of the elements. |
iterator find(const key_type& k) const | AssociativeContainer | Finds an element whose key is k . |
size_type count(const key_type& k) const | UniqueAssociativeContainer | Counts the number of elements whose key is k . |
| AssociativeContainer | Finds a range containing all elements whose key is k . |
| HashedAssociativeContainer | Tests two hash_sets for equality. This is a global function, not a member function. |