CVC3  2.4.1
Public Types | Public Member Functions | Protected Types | Protected Attributes | List of all members
Hash::hash_map< _Key, _Data, _HashFcn, _EqualKey > Class Template Reference

#include <hash_map.h>

Public Types

typedef _hash_table::size_type size_type
typedef _hash_table::key_type key_type
typedef _Data data_type
typedef _hash_table::value_type value_type
typedef _hash_table::hasher hasher
typedef _hash_table::key_equal key_equal
typedef _hash_table::iterator iterator
typedef _hash_table::const_iterator const_iterator

Public Member Functions

 hash_map ()
 methods
 hash_map (size_type initial_capacity)
 hash_map (size_type initial_capacity, const _HashFcn &hash)
 hash_map (size_type initial_capacity, const _HashFcn &hash, const _EqualKey &equal)
 hash_map (const hash_map &other)
hash_mapoperator= (const hash_map &other)
void swap (hash_map &other)
void clear ()
iterator find (const key_type &key)
 operations
const_iterator find (const key_type &key) const
data_typeoperator[] (const key_type &key)
std::pair< iterator, bool > insert (const value_type &entry)
size_type erase (const key_type &key)
const_iterator erase (const const_iterator &i)
bool contains (const key_type &key) const
 status
size_type count (const _Key &key) const
bool empty () const
size_type size () const
size_type bucket_count () const
float load_factor () const
iterator begin ()
 iterators
const_iterator begin () const
iterator end ()
const_iterator end () const

Protected Types

typedef hash_table< _Key,
std::pair< const _Key, _Data >
, _HashFcn, _EqualKey,
_Select1st< std::pair< const
_Key, _Data > > > 
_hash_table
 types

Protected Attributes

_hash_table d_table
 variables

Detailed Description

template<class _Key, class _Data, class _HashFcn = hash<_Key>, class _EqualKey = std::equal_to<_Key>>
class Hash::hash_map< _Key, _Data, _HashFcn, _EqualKey >

hash map implementation based on the sgi interface: http://www.sgi.com/tech/stl/hash_map.html

_Key: hash key type _Data: data to store _HashFcn: functional class providing a hash function: size_type (_Key) _EqualKey: functional class providing a comparison function: bool(_Key, _Key) returns true iff two keys are considered to be equal

Definition at line 82 of file hash_map.h.

Member Typedef Documentation

template<class _Key, class _Data, class _HashFcn = hash<_Key>, class _EqualKey = std::equal_to<_Key>>
typedef hash_table<_Key, std::pair<const _Key, _Data>, _HashFcn, _EqualKey, _Select1st<std::pair<const _Key, _Data> > > Hash::hash_map< _Key, _Data, _HashFcn, _EqualKey >::_hash_table
protected

types

Definition at line 93 of file hash_map.h.

template<class _Key, class _Data, class _HashFcn = hash<_Key>, class _EqualKey = std::equal_to<_Key>>
typedef _hash_table::size_type Hash::hash_map< _Key, _Data, _HashFcn, _EqualKey >::size_type

Definition at line 97 of file hash_map.h.

template<class _Key, class _Data, class _HashFcn = hash<_Key>, class _EqualKey = std::equal_to<_Key>>
typedef _hash_table::key_type Hash::hash_map< _Key, _Data, _HashFcn, _EqualKey >::key_type

Definition at line 98 of file hash_map.h.

template<class _Key, class _Data, class _HashFcn = hash<_Key>, class _EqualKey = std::equal_to<_Key>>
typedef _Data Hash::hash_map< _Key, _Data, _HashFcn, _EqualKey >::data_type

Definition at line 99 of file hash_map.h.

template<class _Key, class _Data, class _HashFcn = hash<_Key>, class _EqualKey = std::equal_to<_Key>>
typedef _hash_table::value_type Hash::hash_map< _Key, _Data, _HashFcn, _EqualKey >::value_type

Definition at line 100 of file hash_map.h.

template<class _Key, class _Data, class _HashFcn = hash<_Key>, class _EqualKey = std::equal_to<_Key>>
typedef _hash_table::hasher Hash::hash_map< _Key, _Data, _HashFcn, _EqualKey >::hasher

Definition at line 101 of file hash_map.h.

template<class _Key, class _Data, class _HashFcn = hash<_Key>, class _EqualKey = std::equal_to<_Key>>
typedef _hash_table::key_equal Hash::hash_map< _Key, _Data, _HashFcn, _EqualKey >::key_equal

Definition at line 102 of file hash_map.h.

template<class _Key, class _Data, class _HashFcn = hash<_Key>, class _EqualKey = std::equal_to<_Key>>
typedef _hash_table::iterator Hash::hash_map< _Key, _Data, _HashFcn, _EqualKey >::iterator

Definition at line 106 of file hash_map.h.

template<class _Key, class _Data, class _HashFcn = hash<_Key>, class _EqualKey = std::equal_to<_Key>>
typedef _hash_table::const_iterator Hash::hash_map< _Key, _Data, _HashFcn, _EqualKey >::const_iterator

Definition at line 107 of file hash_map.h.

Constructor & Destructor Documentation

template<class _Key, class _Data, class _HashFcn = hash<_Key>, class _EqualKey = std::equal_to<_Key>>
Hash::hash_map< _Key, _Data, _HashFcn, _EqualKey >::hash_map ( )
inline

methods

constructors

Definition at line 122 of file hash_map.h.

template<class _Key, class _Data, class _HashFcn = hash<_Key>, class _EqualKey = std::equal_to<_Key>>
Hash::hash_map< _Key, _Data, _HashFcn, _EqualKey >::hash_map ( size_type  initial_capacity)
inline

Definition at line 127 of file hash_map.h.

template<class _Key, class _Data, class _HashFcn = hash<_Key>, class _EqualKey = std::equal_to<_Key>>
Hash::hash_map< _Key, _Data, _HashFcn, _EqualKey >::hash_map ( size_type  initial_capacity,
const _HashFcn &  hash 
)
inline

Definition at line 132 of file hash_map.h.

template<class _Key, class _Data, class _HashFcn = hash<_Key>, class _EqualKey = std::equal_to<_Key>>
Hash::hash_map< _Key, _Data, _HashFcn, _EqualKey >::hash_map ( size_type  initial_capacity,
const _HashFcn &  hash,
const _EqualKey &  equal 
)
inline

Definition at line 137 of file hash_map.h.

template<class _Key, class _Data, class _HashFcn = hash<_Key>, class _EqualKey = std::equal_to<_Key>>
Hash::hash_map< _Key, _Data, _HashFcn, _EqualKey >::hash_map ( const hash_map< _Key, _Data, _HashFcn, _EqualKey > &  other)
inline

Definition at line 143 of file hash_map.h.

Member Function Documentation

template<class _Key, class _Data, class _HashFcn = hash<_Key>, class _EqualKey = std::equal_to<_Key>>
hash_map& Hash::hash_map< _Key, _Data, _HashFcn, _EqualKey >::operator= ( const hash_map< _Key, _Data, _HashFcn, _EqualKey > &  other)
inline

Definition at line 148 of file hash_map.h.

template<class _Key, class _Data, class _HashFcn = hash<_Key>, class _EqualKey = std::equal_to<_Key>>
void Hash::hash_map< _Key, _Data, _HashFcn, _EqualKey >::swap ( hash_map< _Key, _Data, _HashFcn, _EqualKey > &  other)
inline

Definition at line 156 of file hash_map.h.

template<class _Key, class _Data, class _HashFcn = hash<_Key>, class _EqualKey = std::equal_to<_Key>>
void Hash::hash_map< _Key, _Data, _HashFcn, _EqualKey >::clear ( )
inline
template<class _Key, class _Data, class _HashFcn = hash<_Key>, class _EqualKey = std::equal_to<_Key>>
iterator Hash::hash_map< _Key, _Data, _HashFcn, _EqualKey >::find ( const key_type key)
inline
template<class _Key, class _Data, class _HashFcn = hash<_Key>, class _EqualKey = std::equal_to<_Key>>
const_iterator Hash::hash_map< _Key, _Data, _HashFcn, _EqualKey >::find ( const key_type key) const
inline

Definition at line 176 of file hash_map.h.

template<class _Key, class _Data, class _HashFcn = hash<_Key>, class _EqualKey = std::equal_to<_Key>>
data_type& Hash::hash_map< _Key, _Data, _HashFcn, _EqualKey >::operator[] ( const key_type key)
inline

Definition at line 183 of file hash_map.h.

template<class _Key, class _Data, class _HashFcn = hash<_Key>, class _EqualKey = std::equal_to<_Key>>
std::pair<iterator, bool> Hash::hash_map< _Key, _Data, _HashFcn, _EqualKey >::insert ( const value_type entry)
inline
template<class _Key, class _Data, class _HashFcn = hash<_Key>, class _EqualKey = std::equal_to<_Key>>
size_type Hash::hash_map< _Key, _Data, _HashFcn, _EqualKey >::erase ( const key_type key)
inline
template<class _Key, class _Data, class _HashFcn = hash<_Key>, class _EqualKey = std::equal_to<_Key>>
const_iterator Hash::hash_map< _Key, _Data, _HashFcn, _EqualKey >::erase ( const const_iterator i)
inline

Definition at line 203 of file hash_map.h.

template<class _Key, class _Data, class _HashFcn = hash<_Key>, class _EqualKey = std::equal_to<_Key>>
bool Hash::hash_map< _Key, _Data, _HashFcn, _EqualKey >::contains ( const key_type key) const
inline
template<class _Key, class _Data, class _HashFcn = hash<_Key>, class _EqualKey = std::equal_to<_Key>>
size_type Hash::hash_map< _Key, _Data, _HashFcn, _EqualKey >::count ( const _Key &  key) const
inline
template<class _Key, class _Data, class _HashFcn = hash<_Key>, class _EqualKey = std::equal_to<_Key>>
bool Hash::hash_map< _Key, _Data, _HashFcn, _EqualKey >::empty ( ) const
inline
template<class _Key, class _Data, class _HashFcn = hash<_Key>, class _EqualKey = std::equal_to<_Key>>
size_type Hash::hash_map< _Key, _Data, _HashFcn, _EqualKey >::size ( ) const
inline
template<class _Key, class _Data, class _HashFcn = hash<_Key>, class _EqualKey = std::equal_to<_Key>>
size_type Hash::hash_map< _Key, _Data, _HashFcn, _EqualKey >::bucket_count ( ) const
inline

Definition at line 232 of file hash_map.h.

template<class _Key, class _Data, class _HashFcn = hash<_Key>, class _EqualKey = std::equal_to<_Key>>
float Hash::hash_map< _Key, _Data, _HashFcn, _EqualKey >::load_factor ( ) const
inline

Definition at line 237 of file hash_map.h.

template<class _Key, class _Data, class _HashFcn = hash<_Key>, class _EqualKey = std::equal_to<_Key>>
iterator Hash::hash_map< _Key, _Data, _HashFcn, _EqualKey >::begin ( )
inline
template<class _Key, class _Data, class _HashFcn = hash<_Key>, class _EqualKey = std::equal_to<_Key>>
const_iterator Hash::hash_map< _Key, _Data, _HashFcn, _EqualKey >::begin ( ) const
inline

Definition at line 251 of file hash_map.h.

template<class _Key, class _Data, class _HashFcn = hash<_Key>, class _EqualKey = std::equal_to<_Key>>
iterator Hash::hash_map< _Key, _Data, _HashFcn, _EqualKey >::end ( )
inline
template<class _Key, class _Data, class _HashFcn = hash<_Key>, class _EqualKey = std::equal_to<_Key>>
const_iterator Hash::hash_map< _Key, _Data, _HashFcn, _EqualKey >::end ( ) const
inline

Definition at line 262 of file hash_map.h.

Member Data Documentation

template<class _Key, class _Data, class _HashFcn = hash<_Key>, class _EqualKey = std::equal_to<_Key>>
_hash_table Hash::hash_map< _Key, _Data, _HashFcn, _EqualKey >::d_table
protected

The documentation for this class was generated from the following file: