Main Page   Groups   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Concepts

itk::hashtable< Value, Key, HashFcn, ExtractKey, EqualKey, Alloc > Class Template Reference

#include <itk_hashtable.h>

Inheritance diagram for itk::hashtable:

Inheritance graph
[legend]
Collaboration diagram for itk::hashtable< Value, Key, HashFcn, ExtractKey, EqualKey, Alloc >:

Collaboration graph
[legend]
List of all members.

Public Types

typedef Key key_type
typedef Value value_type
typedef HashFcn hasher
typedef EqualKey key_equal
typedef vcl_size_t size_type
typedef ptrdiff_t difference_type
typedef value_typepointer
typedef const value_typeconst_pointer
typedef value_typereference
typedef const value_typeconst_reference
typedef hashtable_iterator<
Value, Key, HashFcn, ExtractKey,
EqualKey, Alloc > 
iterator
typedef hashtable_const_iterator<
Value, Key, HashFcn, ExtractKey,
EqualKey, Alloc > 
const_iterator

Public Methods

hasher hash_funct () const
key_equal key_eq () const
 hashtable (size_type n, const HashFcn &hf, const EqualKey &eql, const ExtractKey &ext)
 hashtable (size_type n, const HashFcn &hf, const EqualKey &eql)
 hashtable (const self &ht)
self & operator= (const self &ht)
 ~hashtable ()
size_type size () const
size_type max_size () const
bool empty () const
void swap (self &ht)
iterator begin ()
iterator end ()
const_iterator begin () const
const_iterator end () const
size_type bucket_count () const
size_type max_bucket_count () const
size_type elems_in_bucket (size_type bucket) const
std::pair< iterator, bool > insert_unique (const value_type &obj)
iterator insert_equal (const value_type &obj)
IUEi_STL_INLINE std::pair<
iterator, bool > 
insert_unique_noresize (const value_type &obj)
IUEi_STL_INLINE iterator insert_equal_noresize (const value_type &obj)
void insert_unique (const value_type *f, const value_type *l)
void insert_equal (const value_type *f, const value_type *l)
void insert_unique (const_iterator f, const_iterator l)
void insert_equal (const_iterator f, const_iterator l)
IUEi_STL_INLINE reference find_or_insert (const value_type &obj)
iterator find (const key_type &key)
const_iterator find (const key_type &key) const
size_type count (const key_type &key) const
IUEi_STL_INLINE std::pair<
iterator, iterator
equal_range (const key_type &key)
IUEi_STL_INLINE std::pair<
const_iterator, const_iterator
equal_range (const key_type &key) const
IUEi_STL_INLINE size_type erase (const key_type &key)
IUEi_STL_INLINE void erase (const iterator &it)
IUEi_STL_INLINE void erase (iterator first, iterator last)
IUEi_STL_INLINE void erase (const const_iterator &it)
IUEi_STL_INLINE void erase (const_iterator first, const_iterator last)
IUEi_STL_INLINE void resize (size_type num_elements_hint)
void clear ()

Friends

struct hashtable_iterator< Value, Key, HashFcn, ExtractKey, EqualKey, Alloc >
struct hashtable_const_iterator< Value, Key, HashFcn, ExtractKey, EqualKey, Alloc >
bool operator==VCL_NULL_TMPL_ARGS (const self &, const self &)

template<class Value, class Key, class HashFcn, class ExtractKey, class EqualKey, class Alloc>
class itk::hashtable< Value, Key, HashFcn, ExtractKey, EqualKey, Alloc >


Member Typedef Documentation

template<class Value, class Key, class HashFcn, class ExtractKey, class EqualKey, class Alloc>
typedef hashtable_const_iterator<Value, Key, HashFcn, ExtractKey, EqualKey,Alloc> itk::hashtable< Value, Key, HashFcn, ExtractKey, EqualKey, Alloc >::const_iterator
 

Definition at line 364 of file itk_hashtable.h.

Referenced by itk::hashtable< Value, Value, HashFcn, std::identity< Value >, EqualKey, Alloc >::begin(), itk::hashtable< Value, Value, HashFcn, std::identity< Value >, EqualKey, Alloc >::end(), and itk::hashtable< Value, Value, HashFcn, std::identity< Value >, EqualKey, Alloc >::find().

template<class Value, class Key, class HashFcn, class ExtractKey, class EqualKey, class Alloc>
typedef const value_type* itk::hashtable< Value, Key, HashFcn, ExtractKey, EqualKey, Alloc >::const_pointer
 

Definition at line 347 of file itk_hashtable.h.

template<class Value, class Key, class HashFcn, class ExtractKey, class EqualKey, class Alloc>
typedef const value_type& itk::hashtable< Value, Key, HashFcn, ExtractKey, EqualKey, Alloc >::const_reference
 

Definition at line 349 of file itk_hashtable.h.

template<class Value, class Key, class HashFcn, class ExtractKey, class EqualKey, class Alloc>
typedef ptrdiff_t itk::hashtable< Value, Key, HashFcn, ExtractKey, EqualKey, Alloc >::difference_type
 

Definition at line 345 of file itk_hashtable.h.

template<class Value, class Key, class HashFcn, class ExtractKey, class EqualKey, class Alloc>
typedef HashFcn itk::hashtable< Value, Key, HashFcn, ExtractKey, EqualKey, Alloc >::hasher
 

Definition at line 341 of file itk_hashtable.h.

Referenced by itk::hashtable< Value, Value, HashFcn, std::identity< Value >, EqualKey, Alloc >::hash_funct().

template<class Value, class Key, class HashFcn, class ExtractKey, class EqualKey, class Alloc>
typedef hashtable_iterator<Value, Key, HashFcn, ExtractKey, EqualKey, Alloc> itk::hashtable< Value, Key, HashFcn, ExtractKey, EqualKey, Alloc >::iterator
 

Definition at line 363 of file itk_hashtable.h.

Referenced by itk::hashtable< Value, Value, HashFcn, std::identity< Value >, EqualKey, Alloc >::begin(), itk::hashtable< Value, Value, HashFcn, std::identity< Value >, EqualKey, Alloc >::end(), and itk::hashtable< Value, Value, HashFcn, std::identity< Value >, EqualKey, Alloc >::find().

template<class Value, class Key, class HashFcn, class ExtractKey, class EqualKey, class Alloc>
typedef EqualKey itk::hashtable< Value, Key, HashFcn, ExtractKey, EqualKey, Alloc >::key_equal
 

Definition at line 342 of file itk_hashtable.h.

Referenced by itk::hashtable< Value, Value, HashFcn, std::identity< Value >, EqualKey, Alloc >::key_eq().

template<class Value, class Key, class HashFcn, class ExtractKey, class EqualKey, class Alloc>
typedef Key itk::hashtable< Value, Key, HashFcn, ExtractKey, EqualKey, Alloc >::key_type
 

Definition at line 339 of file itk_hashtable.h.

Referenced by itk::hashtable< Value, Value, HashFcn, std::identity< Value >, EqualKey, Alloc >::count(), and itk::hashtable< Value, Value, HashFcn, std::identity< Value >, EqualKey, Alloc >::find().

template<class Value, class Key, class HashFcn, class ExtractKey, class EqualKey, class Alloc>
typedef value_type* itk::hashtable< Value, Key, HashFcn, ExtractKey, EqualKey, Alloc >::pointer
 

Definition at line 346 of file itk_hashtable.h.

template<class Value, class Key, class HashFcn, class ExtractKey, class EqualKey, class Alloc>
typedef value_type& itk::hashtable< Value, Key, HashFcn, ExtractKey, EqualKey, Alloc >::reference
 

Definition at line 348 of file itk_hashtable.h.

template<class Value, class Key, class HashFcn, class ExtractKey, class EqualKey, class Alloc>
typedef vcl_size_t itk::hashtable< Value, Key, HashFcn, ExtractKey, EqualKey, Alloc >::size_type
 

Reimplemented from itk::hashtable_base< Value, Alloc >.

Definition at line 344 of file itk_hashtable.h.

Referenced by itk::hashtable< Value, Value, HashFcn, std::identity< Value >, EqualKey, Alloc >::begin(), itk::hashtable< Value, Value, HashFcn, std::identity< Value >, EqualKey, Alloc >::bucket_count(), itk::hashtable< Value, Value, HashFcn, std::identity< Value >, EqualKey, Alloc >::count(), itk::hashtable< Value, Value, HashFcn, std::identity< Value >, EqualKey, Alloc >::elems_in_bucket(), itk::hashtable< Value, Value, HashFcn, std::identity< Value >, EqualKey, Alloc >::find(), itk::hashtable< Value, Value, HashFcn, std::identity< Value >, EqualKey, Alloc >::hashtable(), itk::hashtable< Value, Value, HashFcn, std::identity< Value >, EqualKey, Alloc >::insert_equal(), itk::hashtable< Value, Value, HashFcn, std::identity< Value >, EqualKey, Alloc >::insert_unique(), itk::hashtable< Value, Value, HashFcn, std::identity< Value >, EqualKey, Alloc >::max_bucket_count(), itk::hashtable< Value, Value, HashFcn, std::identity< Value >, EqualKey, Alloc >::max_size(), and itk::hashtable< Value, Value, HashFcn, std::identity< Value >, EqualKey, Alloc >::size().

template<class Value, class Key, class HashFcn, class ExtractKey, class EqualKey, class Alloc>
typedef Value itk::hashtable< Value, Key, HashFcn, ExtractKey, EqualKey, Alloc >::value_type
 

Reimplemented from itk::hashtable_base< Value, Alloc >.

Definition at line 340 of file itk_hashtable.h.

Referenced by itk::hashtable< Value, Value, HashFcn, std::identity< Value >, EqualKey, Alloc >::insert_equal(), and itk::hashtable< Value, Value, HashFcn, std::identity< Value >, EqualKey, Alloc >::insert_unique().


Constructor & Destructor Documentation

template<class Value, class Key, class HashFcn, class ExtractKey, class EqualKey, class Alloc>
itk::hashtable< Value, Key, HashFcn, ExtractKey, EqualKey, Alloc >::hashtable size_type    n,
const HashFcn &    hf,
const EqualKey &    eql,
const ExtractKey &    ext
[inline]
 

Definition at line 371 of file itk_hashtable.h.

template<class Value, class Key, class HashFcn, class ExtractKey, class EqualKey, class Alloc>
itk::hashtable< Value, Key, HashFcn, ExtractKey, EqualKey, Alloc >::hashtable size_type    n,
const HashFcn &    hf,
const EqualKey &    eql
[inline]
 

Definition at line 379 of file itk_hashtable.h.

template<class Value, class Key, class HashFcn, class ExtractKey, class EqualKey, class Alloc>
itk::hashtable< Value, Key, HashFcn, ExtractKey, EqualKey, Alloc >::hashtable const self &    ht [inline]
 

Definition at line 386 of file itk_hashtable.h.

template<class Value, class Key, class HashFcn, class ExtractKey, class EqualKey, class Alloc>
itk::hashtable< Value, Key, HashFcn, ExtractKey, EqualKey, Alloc >::~hashtable   [inline]
 

Definition at line 404 of file itk_hashtable.h.


Member Function Documentation

template<class Value, class Key, class HashFcn, class ExtractKey, class EqualKey, class Alloc>
const_iterator itk::hashtable< Value, Key, HashFcn, ExtractKey, EqualKey, Alloc >::begin   const [inline]
 

Definition at line 429 of file itk_hashtable.h.

template<class Value, class Key, class HashFcn, class ExtractKey, class EqualKey, class Alloc>
iterator itk::hashtable< Value, Key, HashFcn, ExtractKey, EqualKey, Alloc >::begin   [inline]
 

Definition at line 419 of file itk_hashtable.h.

template<class Value, class Key, class HashFcn, class ExtractKey, class EqualKey, class Alloc>
size_type itk::hashtable< Value, Key, HashFcn, ExtractKey, EqualKey, Alloc >::bucket_count   const [inline]
 

Definition at line 444 of file itk_hashtable.h.

template<class Value, class Key, class HashFcn, class ExtractKey, class EqualKey, class Alloc>
void itk::hashtable< Value, Key, HashFcn, ExtractKey, EqualKey, Alloc >::clear   [inline]
 

Reimplemented from itk::hashtable_base< Value, Alloc >.

Definition at line 552 of file itk_hashtable.h.

Referenced by itk::hashtable< Value, Value, HashFcn, std::identity< Value >, EqualKey, Alloc >::operator=().

template<class Value, class Key, class HashFcn, class ExtractKey, class EqualKey, class Alloc>
size_type itk::hashtable< Value, Key, HashFcn, ExtractKey, EqualKey, Alloc >::count const key_type   key const [inline]
 

Definition at line 530 of file itk_hashtable.h.

template<class Value, class Key, class HashFcn, class ExtractKey, class EqualKey, class Alloc>
size_type itk::hashtable< Value, Key, HashFcn, ExtractKey, EqualKey, Alloc >::elems_in_bucket size_type    bucket const [inline]
 

Definition at line 449 of file itk_hashtable.h.

template<class Value, class Key, class HashFcn, class ExtractKey, class EqualKey, class Alloc>
bool itk::hashtable< Value, Key, HashFcn, ExtractKey, EqualKey, Alloc >::empty   const [inline]
 

Definition at line 408 of file itk_hashtable.h.

template<class Value, class Key, class HashFcn, class ExtractKey, class EqualKey, class Alloc>
const_iterator itk::hashtable< Value, Key, HashFcn, ExtractKey, EqualKey, Alloc >::end   const [inline]
 

Definition at line 437 of file itk_hashtable.h.

template<class Value, class Key, class HashFcn, class ExtractKey, class EqualKey, class Alloc>
iterator itk::hashtable< Value, Key, HashFcn, ExtractKey, EqualKey, Alloc >::end   [inline]
 

Definition at line 427 of file itk_hashtable.h.

Referenced by itk::hashtable< Value, Value, HashFcn, std::identity< Value >, EqualKey, Alloc >::begin().

template<class Value, class Key, class HashFcn, class ExtractKey, class EqualKey, class Alloc>
IUEi_STL_INLINE std::pair<const_iterator, const_iterator> itk::hashtable< Value, Key, HashFcn, ExtractKey, EqualKey, Alloc >::equal_range const key_type   key const
 

template<class Value, class Key, class HashFcn, class ExtractKey, class EqualKey, class Alloc>
IUEi_STL_INLINE std::pair<iterator, iterator> itk::hashtable< Value, Key, HashFcn, ExtractKey, EqualKey, Alloc >::equal_range const key_type   key
 

template<class Value, class Key, class HashFcn, class ExtractKey, class EqualKey, class Alloc>
IUEi_STL_INLINE void itk::hashtable< Value, Key, HashFcn, ExtractKey, EqualKey, Alloc >::erase const_iterator    first,
const_iterator    last
 

template<class Value, class Key, class HashFcn, class ExtractKey, class EqualKey, class Alloc>
IUEi_STL_INLINE void itk::hashtable< Value, Key, HashFcn, ExtractKey, EqualKey, Alloc >::erase const const_iterator   it
 

template<class Value, class Key, class HashFcn, class ExtractKey, class EqualKey, class Alloc>
IUEi_STL_INLINE void itk::hashtable< Value, Key, HashFcn, ExtractKey, EqualKey, Alloc >::erase iterator    first,
iterator    last
 

template<class Value, class Key, class HashFcn, class ExtractKey, class EqualKey, class Alloc>
IUEi_STL_INLINE void itk::hashtable< Value, Key, HashFcn, ExtractKey, EqualKey, Alloc >::erase const iterator   it
 

template<class Value, class Key, class HashFcn, class ExtractKey, class EqualKey, class Alloc>
IUEi_STL_INLINE size_type itk::hashtable< Value, Key, HashFcn, ExtractKey, EqualKey, Alloc >::erase const key_type   key
 

template<class Value, class Key, class HashFcn, class ExtractKey, class EqualKey, class Alloc>
const_iterator itk::hashtable< Value, Key, HashFcn, ExtractKey, EqualKey, Alloc >::find const key_type   key const [inline]
 

Definition at line 519 of file itk_hashtable.h.

template<class Value, class Key, class HashFcn, class ExtractKey, class EqualKey, class Alloc>
iterator itk::hashtable< Value, Key, HashFcn, ExtractKey, EqualKey, Alloc >::find const key_type   key [inline]
 

Definition at line 508 of file itk_hashtable.h.

template<class Value, class Key, class HashFcn, class ExtractKey, class EqualKey, class Alloc>
IUEi_STL_INLINE reference itk::hashtable< Value, Key, HashFcn, ExtractKey, EqualKey, Alloc >::find_or_insert const value_type   obj
 

template<class Value, class Key, class HashFcn, class ExtractKey, class EqualKey, class Alloc>
hasher itk::hashtable< Value, Key, HashFcn, ExtractKey, EqualKey, Alloc >::hash_funct   const [inline]
 

Definition at line 351 of file itk_hashtable.h.

template<class Value, class Key, class HashFcn, class ExtractKey, class EqualKey, class Alloc>
void itk::hashtable< Value, Key, HashFcn, ExtractKey, EqualKey, Alloc >::insert_equal const_iterator    f,
const_iterator    l
[inline]
 

Definition at line 497 of file itk_hashtable.h.

template<class Value, class Key, class HashFcn, class ExtractKey, class EqualKey, class Alloc>
void itk::hashtable< Value, Key, HashFcn, ExtractKey, EqualKey, Alloc >::insert_equal const value_type   f,
const value_type   l
[inline]
 

Definition at line 480 of file itk_hashtable.h.

template<class Value, class Key, class HashFcn, class ExtractKey, class EqualKey, class Alloc>
iterator itk::hashtable< Value, Key, HashFcn, ExtractKey, EqualKey, Alloc >::insert_equal const value_type   obj [inline]
 

Definition at line 463 of file itk_hashtable.h.

template<class Value, class Key, class HashFcn, class ExtractKey, class EqualKey, class Alloc>
IUEi_STL_INLINE iterator itk::hashtable< Value, Key, HashFcn, ExtractKey, EqualKey, Alloc >::insert_equal_noresize const value_type   obj
 

Referenced by itk::hashtable< Value, Value, HashFcn, std::identity< Value >, EqualKey, Alloc >::insert_equal().

template<class Value, class Key, class HashFcn, class ExtractKey, class EqualKey, class Alloc>
void itk::hashtable< Value, Key, HashFcn, ExtractKey, EqualKey, Alloc >::insert_unique const_iterator    f,
const_iterator    l
[inline]
 

Definition at line 488 of file itk_hashtable.h.

template<class Value, class Key, class HashFcn, class ExtractKey, class EqualKey, class Alloc>
void itk::hashtable< Value, Key, HashFcn, ExtractKey, EqualKey, Alloc >::insert_unique const value_type   f,
const value_type   l
[inline]
 

Definition at line 472 of file itk_hashtable.h.

template<class Value, class Key, class HashFcn, class ExtractKey, class EqualKey, class Alloc>
std::pair<iterator, bool> itk::hashtable< Value, Key, HashFcn, ExtractKey, EqualKey, Alloc >::insert_unique const value_type   obj [inline]
 

Definition at line 457 of file itk_hashtable.h.

template<class Value, class Key, class HashFcn, class ExtractKey, class EqualKey, class Alloc>
IUEi_STL_INLINE std::pair<iterator, bool> itk::hashtable< Value, Key, HashFcn, ExtractKey, EqualKey, Alloc >::insert_unique_noresize const value_type   obj
 

Referenced by itk::hashtable< Value, Value, HashFcn, std::identity< Value >, EqualKey, Alloc >::insert_unique().

template<class Value, class Key, class HashFcn, class ExtractKey, class EqualKey, class Alloc>
key_equal itk::hashtable< Value, Key, HashFcn, ExtractKey, EqualKey, Alloc >::key_eq   const [inline]
 

Definition at line 352 of file itk_hashtable.h.

template<class Value, class Key, class HashFcn, class ExtractKey, class EqualKey, class Alloc>
size_type itk::hashtable< Value, Key, HashFcn, ExtractKey, EqualKey, Alloc >::max_bucket_count   const [inline]
 

Definition at line 446 of file itk_hashtable.h.

template<class Value, class Key, class HashFcn, class ExtractKey, class EqualKey, class Alloc>
size_type itk::hashtable< Value, Key, HashFcn, ExtractKey, EqualKey, Alloc >::max_size   const [inline]
 

Definition at line 407 of file itk_hashtable.h.

template<class Value, class Key, class HashFcn, class ExtractKey, class EqualKey, class Alloc>
self& itk::hashtable< Value, Key, HashFcn, ExtractKey, EqualKey, Alloc >::operator= const self &    ht [inline]
 

Definition at line 391 of file itk_hashtable.h.

template<class Value, class Key, class HashFcn, class ExtractKey, class EqualKey, class Alloc>
IUEi_STL_INLINE void itk::hashtable< Value, Key, HashFcn, ExtractKey, EqualKey, Alloc >::resize size_type    num_elements_hint
 

Referenced by itk::hashtable< Value, Value, HashFcn, std::identity< Value >, EqualKey, Alloc >::insert_equal(), and itk::hashtable< Value, Value, HashFcn, std::identity< Value >, EqualKey, Alloc >::insert_unique().

template<class Value, class Key, class HashFcn, class ExtractKey, class EqualKey, class Alloc>
size_type itk::hashtable< Value, Key, HashFcn, ExtractKey, EqualKey, Alloc >::size   const [inline]
 

Definition at line 406 of file itk_hashtable.h.

Referenced by itk::hashtable< Value, Value, HashFcn, std::identity< Value >, EqualKey, Alloc >::empty().

template<class Value, class Key, class HashFcn, class ExtractKey, class EqualKey, class Alloc>
void itk::hashtable< Value, Key, HashFcn, ExtractKey, EqualKey, Alloc >::swap self &    ht [inline]
 

Definition at line 410 of file itk_hashtable.h.


Friends And Related Function Documentation

template<class Value, class Key, class HashFcn, class ExtractKey, class EqualKey, class Alloc>
friend struct hashtable_const_iterator< Value, Key, HashFcn, ExtractKey, EqualKey, Alloc > [friend]
 

Definition at line 367 of file itk_hashtable.h.

template<class Value, class Key, class HashFcn, class ExtractKey, class EqualKey, class Alloc>
friend struct hashtable_iterator< Value, Key, HashFcn, ExtractKey, EqualKey, Alloc > [friend]
 

Definition at line 365 of file itk_hashtable.h.

template<class Value, class Key, class HashFcn, class ExtractKey, class EqualKey, class Alloc>
bool operator==VCL_NULL_TMPL_ARGS const self &   ,
const self &   
[friend]
 


The documentation for this class was generated from the following file:
Generated at Fri May 21 01:27:35 2004 for ITK by doxygen 1.2.15 written by Dimitri van Heesch, © 1997-2000