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< Value, Key, HashFcn, ExtractKey, EqualKey, Alloc >:
Inheritance graph
[legend]
Collaboration diagram for itk::hashtable< Value, Key, HashFcn, ExtractKey, EqualKey, Alloc >:
Collaboration graph
[legend]

List of all members.

Public Types

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

Public Member Functions

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

Protected Types

typedef std::vector
< VCL_SUNPRO_ALLOCATOR_HACK(node *) 
buckets_type )

Protected Member Functions

IUEi_STL_INLINE void copy_from (const hashtable_base< Value, Alloc > &ht)
void delete_node (node *n)
nodenew_node (const value_type &obj)

Protected Attributes

buckets_type buckets
size_type num_elements

Friends

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

Detailed Description

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

Definition at line 357 of file itk_hashtable.h.


Member Typedef Documentation

template<class Value, class Alloc>
typedef std::vector<VCL_SUNPRO_ALLOCATOR_HACK(node*) itk::hashtable_base< Value, Alloc >::buckets_type) [inherited]

Definition at line 312 of file itk_hashtable.h.

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 387 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_pointer

Definition at line 370 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 372 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 368 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 364 of file itk_hashtable.h.

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 386 of file itk_hashtable.h.

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 365 of file itk_hashtable.h.

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 362 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 >::pointer

Definition at line 369 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 371 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 367 of file itk_hashtable.h.

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 363 of file itk_hashtable.h.


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 392 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 401 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 409 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 429 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 458 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]
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]
template<class Value, class Key, class HashFcn, class ExtractKey, class EqualKey, class Alloc>
void itk::hashtable< Value, Key, HashFcn, ExtractKey, EqualKey, Alloc >::clear (  )  [inline]
template<class Value, class Alloc>
void itk::hashtable_base< Value, Alloc >::copy_from ( const hashtable_base< Value, Alloc > &  ht  )  [inline, protected, inherited]
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]
template<class Value, class Alloc>
void itk::hashtable_base< Value, Alloc >::delete_node ( node n  )  [inline, protected, inherited]

Definition at line 334 of file itk_hashtable.h.

Referenced by itk::hashtable_base< Value, Alloc >::clear().

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]
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]
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 470 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]
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 561 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]
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]
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 537 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 516 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]
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  ) 
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 526 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 506 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]
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  ) 
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]
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]
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]
template<class Value, class Alloc>
node* itk::hashtable_base< Value, Alloc >::new_node ( const value_type &  obj  )  [inline, protected, inherited]

Definition at line 318 of file itk_hashtable.h.

Referenced by itk::hashtable_base< Value, Alloc >::copy_from().

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 415 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  ) 
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]
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]

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 389 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 388 of file itk_hashtable.h.

template<class Value, class Key, class HashFcn, class ExtractKey, class EqualKey, class Alloc>
bool operator==ITK_FRIEND_TEMPLATE_FUNCTION_ARGUMENT() self ( const self ,
const self  
) [friend]

Member Data Documentation

template<class Value, class Alloc>
buckets_type itk::hashtable_base< Value, Alloc >::buckets [inherited]
template<class Value, class Alloc>
size_type itk::hashtable_base< Value, Alloc >::num_elements [inherited]

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

Generated at Fri Apr 16 22:14:29 2010 for ITK by doxygen 1.6.1 written by Dimitri van Heesch, © 1997-2000