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.


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


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 &)

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 304 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 379 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 362 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 364 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 360 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 356 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 378 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 357 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 354 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 361 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 363 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 359 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 355 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 384 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 393 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 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 (  )  [inline]

Definition at line 421 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 450 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 326 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 462 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 553 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 529 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 508 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 518 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 498 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 310 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 407 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 381 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 380 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 Sat Feb 28 15:52:26 2009 for ITK by doxygen 1.5.6 written by Dimitri van Heesch, © 1997-2000