#include <itk_hashtable.h>
Inheritance diagram for itk::hashtable< Value, Key, HashFcn, ExtractKey, EqualKey, Alloc >:
Definition at line 348 of file itk_hashtable.h.
Public Types | |
typedef hashtable_const_iterator< Value, Key, HashFcn, ExtractKey, EqualKey, Alloc > | const_iterator |
typedef const value_type * | const_pointer |
typedef const value_type & | const_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_type * | pointer |
typedef value_type & | reference |
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 |
self & | operator= (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) |
node * | new_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 &)) |
typedef std::vector<VCL_SUNPRO_ALLOCATOR_HACK(node*) > itk::hashtable_base< Value, Alloc >::buckets_type [inherited] |
Definition at line 305 of file itk_hashtable.h.
typedef hashtable_const_iterator<Value, Key, HashFcn, ExtractKey, EqualKey,Alloc> itk::hashtable< Value, Key, HashFcn, ExtractKey, EqualKey, Alloc >::const_iterator |
Definition at line 378 of file itk_hashtable.h.
typedef const value_type* itk::hashtable< Value, Key, HashFcn, ExtractKey, EqualKey, Alloc >::const_pointer |
Definition at line 361 of file itk_hashtable.h.
typedef const value_type& itk::hashtable< Value, Key, HashFcn, ExtractKey, EqualKey, Alloc >::const_reference |
Definition at line 363 of file itk_hashtable.h.
typedef ptrdiff_t itk::hashtable< Value, Key, HashFcn, ExtractKey, EqualKey, Alloc >::difference_type |
Definition at line 359 of file itk_hashtable.h.
typedef HashFcn itk::hashtable< Value, Key, HashFcn, ExtractKey, EqualKey, Alloc >::hasher |
Definition at line 355 of file itk_hashtable.h.
typedef hashtable_iterator<Value, Key, HashFcn, ExtractKey, EqualKey, Alloc> itk::hashtable< Value, Key, HashFcn, ExtractKey, EqualKey, Alloc >::iterator |
Definition at line 377 of file itk_hashtable.h.
typedef EqualKey itk::hashtable< Value, Key, HashFcn, ExtractKey, EqualKey, Alloc >::key_equal |
Definition at line 356 of file itk_hashtable.h.
typedef Key itk::hashtable< Value, Key, HashFcn, ExtractKey, EqualKey, Alloc >::key_type |
Definition at line 353 of file itk_hashtable.h.
typedef value_type* itk::hashtable< Value, Key, HashFcn, ExtractKey, EqualKey, Alloc >::pointer |
Definition at line 360 of file itk_hashtable.h.
typedef value_type& itk::hashtable< Value, Key, HashFcn, ExtractKey, EqualKey, Alloc >::reference |
Definition at line 362 of file itk_hashtable.h.
typedef vcl_size_t itk::hashtable< Value, Key, HashFcn, ExtractKey, EqualKey, Alloc >::size_type |
Reimplemented from itk::hashtable_base< Value, Alloc >.
Definition at line 358 of file itk_hashtable.h.
typedef Value itk::hashtable< Value, Key, HashFcn, ExtractKey, EqualKey, Alloc >::value_type |
Reimplemented from itk::hashtable_base< Value, Alloc >.
Definition at line 354 of file itk_hashtable.h.
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 383 of file itk_hashtable.h.
itk::hashtable< Value, Key, HashFcn, ExtractKey, EqualKey, Alloc >::hashtable | ( | size_type | n, | |
const HashFcn & | hf, | |||
const EqualKey & | eql | |||
) | [inline] |
Definition at line 391 of file itk_hashtable.h.
itk::hashtable< Value, Key, HashFcn, ExtractKey, EqualKey, Alloc >::hashtable | ( | const self & | ht | ) | [inline] |
Definition at line 398 of file itk_hashtable.h.
itk::hashtable< Value, Key, HashFcn, ExtractKey, EqualKey, Alloc >::~hashtable | ( | ) | [inline] |
Definition at line 416 of file itk_hashtable.h.
const_iterator itk::hashtable< Value, Key, HashFcn, ExtractKey, EqualKey, Alloc >::begin | ( | ) | const [inline] |
Definition at line 441 of file itk_hashtable.h.
iterator itk::hashtable< Value, Key, HashFcn, ExtractKey, EqualKey, Alloc >::begin | ( | ) | [inline] |
Definition at line 431 of file itk_hashtable.h.
Referenced by itk::hash_multiset< Value,,, >::begin(), itk::hash_set< Value,,, >::begin(), itk::hash_multimap< Key, T,,, >::begin(), and itk::hash_map< Key, T,,, >::begin().
size_type itk::hashtable< Value, Key, HashFcn, ExtractKey, EqualKey, Alloc >::bucket_count | ( | ) | const [inline] |
Definition at line 455 of file itk_hashtable.h.
Referenced by itk::hash_multiset< Value,,, >::bucket_count(), itk::hash_set< Value,,, >::bucket_count(), itk::hash_multimap< Key, T,,, >::bucket_count(), and itk::hash_map< Key, T,,, >::bucket_count().
void itk::hashtable< Value, Key, HashFcn, ExtractKey, EqualKey, Alloc >::clear | ( | ) | [inline] |
Reimplemented from itk::hashtable_base< Value, Alloc >.
Definition at line 563 of file itk_hashtable.h.
Referenced by itk::hash_multiset< Value,,, >::clear(), itk::hash_set< Value,,, >::clear(), itk::hash_multimap< Key, T,,, >::clear(), and itk::hash_map< Key, T,,, >::clear().
void itk::hashtable_base< Value, Alloc >::copy_from | ( | const hashtable_base< Value, Alloc > & | ht | ) | [protected, inherited] |
Definition at line 1020 of file itk_hashtable.h.
References itk::hashtable_base< Value, Alloc >::buckets, itk::hashtable_base< Value, Alloc >::new_node(), itk::hashtable_node< Value >::next, and itk::hashtable_base< Value, Alloc >::num_elements.
size_type itk::hashtable< Value, Key, HashFcn, ExtractKey, EqualKey, Alloc >::count | ( | const key_type & | key | ) | const [inline] |
Definition at line 541 of file itk_hashtable.h.
Referenced by itk::hash_multiset< Value,,, >::count(), itk::hash_set< Value,,, >::count(), itk::hash_multimap< Key, T,,, >::count(), and itk::hash_map< Key, T,,, >::count().
void itk::hashtable_base< Value, Alloc >::delete_node | ( | node * | n | ) | [inline, protected, inherited] |
Definition at line 325 of file itk_hashtable.h.
References itk_simple_alloc< T, Alloc >::deallocate(), itk::hashtable_node< Value >::val, and vcli_destroy.
Referenced by itk::hashtable_base< Value, Alloc >::clear().
size_type itk::hashtable< Value, Key, HashFcn, ExtractKey, EqualKey, Alloc >::elems_in_bucket | ( | size_type | bucket | ) | const [inline] |
Definition at line 460 of file itk_hashtable.h.
References itk::num_primes, and itk::prime_list.
Referenced by itk::hash_multiset< Value,,, >::elems_in_bucket(), itk::hash_set< Value,,, >::elems_in_bucket(), itk::hash_multimap< Key, T,,, >::elems_in_bucket(), and itk::hash_map< Key, T,,, >::elems_in_bucket().
bool itk::hashtable< Value, Key, HashFcn, ExtractKey, EqualKey, Alloc >::empty | ( | ) | const [inline] |
Definition at line 420 of file itk_hashtable.h.
References itk::hashtable_base< Value, Alloc >::num_elements.
Referenced by itk::hash_multiset< Value,,, >::empty(), itk::hash_set< Value,,, >::empty(), itk::hash_multimap< Key, T,,, >::empty(), and itk::hash_map< Key, T,,, >::empty().
const_iterator itk::hashtable< Value, Key, HashFcn, ExtractKey, EqualKey, Alloc >::end | ( | ) | const [inline] |
Definition at line 449 of file itk_hashtable.h.
iterator itk::hashtable< Value, Key, HashFcn, ExtractKey, EqualKey, Alloc >::end | ( | ) | [inline] |
Definition at line 439 of file itk_hashtable.h.
Referenced by itk::hash_multiset< Value,,, >::end(), itk::hash_set< Value,,, >::end(), itk::hash_multimap< Key, T,,, >::end(), and itk::hash_map< Key, T,,, >::end().
IUEi_STL_INLINE std::pair<const_iterator, const_iterator> itk::hashtable< Value, Key, HashFcn, ExtractKey, EqualKey, Alloc >::equal_range | ( | const key_type & | key | ) | const |
IUEi_STL_INLINE std::pair<iterator, iterator> itk::hashtable< Value, Key, HashFcn, ExtractKey, EqualKey, Alloc >::equal_range | ( | const key_type & | key | ) |
IUEi_STL_INLINE void itk::hashtable< Value, Key, HashFcn, ExtractKey, EqualKey, Alloc >::erase | ( | const_iterator | first, | |
const_iterator | last | |||
) |
IUEi_STL_INLINE void itk::hashtable< Value, Key, HashFcn, ExtractKey, EqualKey, Alloc >::erase | ( | const const_iterator & | it | ) |
IUEi_STL_INLINE void itk::hashtable< Value, Key, HashFcn, ExtractKey, EqualKey, Alloc >::erase | ( | iterator | first, | |
iterator | last | |||
) |
IUEi_STL_INLINE void itk::hashtable< Value, Key, HashFcn, ExtractKey, EqualKey, Alloc >::erase | ( | const iterator & | it | ) |
IUEi_STL_INLINE size_type itk::hashtable< Value, Key, HashFcn, ExtractKey, EqualKey, Alloc >::erase | ( | const key_type & | key | ) |
const_iterator itk::hashtable< Value, Key, HashFcn, ExtractKey, EqualKey, Alloc >::find | ( | const key_type & | key | ) | const [inline] |
Definition at line 530 of file itk_hashtable.h.
iterator itk::hashtable< Value, Key, HashFcn, ExtractKey, EqualKey, Alloc >::find | ( | const key_type & | key | ) | [inline] |
Definition at line 519 of file itk_hashtable.h.
Referenced by itk::hash_multiset< Value,,, >::find(), itk::hash_set< Value,,, >::find(), itk::hash_multimap< Key, T,,, >::find(), and itk::hash_map< Key, T,,, >::find().
IUEi_STL_INLINE reference itk::hashtable< Value, Key, HashFcn, ExtractKey, EqualKey, Alloc >::find_or_insert | ( | const value_type & | obj | ) |
Referenced by itk::hash_map< Key, T,,, >::operator[]().
hasher itk::hashtable< Value, Key, HashFcn, ExtractKey, EqualKey, Alloc >::hash_funct | ( | ) | const [inline] |
Definition at line 365 of file itk_hashtable.h.
Referenced by itk::hash_multiset< Value,,, >::hash_funct(), itk::hash_set< Value,,, >::hash_funct(), and itk::hash_multimap< Key, T,,, >::hash_funct().
void itk::hashtable< Value, Key, HashFcn, ExtractKey, EqualKey, Alloc >::insert_equal | ( | const_iterator | f, | |
const_iterator | l | |||
) | [inline] |
Definition at line 508 of file itk_hashtable.h.
void itk::hashtable< Value, Key, HashFcn, ExtractKey, EqualKey, Alloc >::insert_equal | ( | const value_type * | f, | |
const value_type * | l | |||
) | [inline] |
Definition at line 491 of file itk_hashtable.h.
iterator itk::hashtable< Value, Key, HashFcn, ExtractKey, EqualKey, Alloc >::insert_equal | ( | const value_type & | obj | ) | [inline] |
Definition at line 474 of file itk_hashtable.h.
Referenced by itk::hash_multimap< Key, T,,, >::hash_multimap(), itk::hash_multiset< Value,,, >::hash_multiset(), itk::hash_multiset< Value,,, >::insert(), and itk::hash_multimap< Key, T,,, >::insert().
IUEi_STL_INLINE iterator itk::hashtable< Value, Key, HashFcn, ExtractKey, EqualKey, Alloc >::insert_equal_noresize | ( | const value_type & | obj | ) |
void itk::hashtable< Value, Key, HashFcn, ExtractKey, EqualKey, Alloc >::insert_unique | ( | const_iterator | f, | |
const_iterator | l | |||
) | [inline] |
Definition at line 499 of file itk_hashtable.h.
void itk::hashtable< Value, Key, HashFcn, ExtractKey, EqualKey, Alloc >::insert_unique | ( | const value_type * | f, | |
const value_type * | l | |||
) | [inline] |
Definition at line 483 of file itk_hashtable.h.
std::pair<iterator, bool> itk::hashtable< Value, Key, HashFcn, ExtractKey, EqualKey, Alloc >::insert_unique | ( | const value_type & | obj | ) | [inline] |
Definition at line 468 of file itk_hashtable.h.
Referenced by itk::hash_map< Key, T,,, >::hash_map(), itk::hash_set< Value,,, >::hash_set(), itk::hash_set< Value,,, >::insert(), and itk::hash_map< Key, T,,, >::insert().
IUEi_STL_INLINE std::pair<iterator, bool> itk::hashtable< Value, Key, HashFcn, ExtractKey, EqualKey, Alloc >::insert_unique_noresize | ( | const value_type & | obj | ) |
key_equal itk::hashtable< Value, Key, HashFcn, ExtractKey, EqualKey, Alloc >::key_eq | ( | ) | const [inline] |
Definition at line 366 of file itk_hashtable.h.
Referenced by itk::hash_multiset< Value,,, >::key_eq(), itk::hash_set< Value,,, >::key_eq(), itk::hash_multimap< Key, T,,, >::key_eq(), and itk::hash_map< Key, T,,, >::key_eq().
size_type itk::hashtable< Value, Key, HashFcn, ExtractKey, EqualKey, Alloc >::max_bucket_count | ( | ) | const [inline] |
Definition at line 457 of file itk_hashtable.h.
References itk::hashtable_base< Value, Alloc >::buckets.
Referenced by itk::hash_multiset< Value,,, >::max_bucket_count(), itk::hash_set< Value,,, >::max_bucket_count(), itk::hash_multimap< Key, T,,, >::max_bucket_count(), and itk::hash_map< Key, T,,, >::max_bucket_count().
size_type itk::hashtable< Value, Key, HashFcn, ExtractKey, EqualKey, Alloc >::max_size | ( | ) | const [inline] |
Definition at line 419 of file itk_hashtable.h.
Referenced by itk::hash_multiset< Value,,, >::max_size(), itk::hash_set< Value,,, >::max_size(), itk::hash_multimap< Key, T,,, >::max_size(), and itk::hash_map< Key, T,,, >::max_size().
node* itk::hashtable_base< Value, Alloc >::new_node | ( | const value_type & | obj | ) | [inline, protected, inherited] |
Definition at line 311 of file itk_hashtable.h.
References itk_simple_alloc< T, Alloc >::allocate(), itk_simple_alloc< T, Alloc >::deallocate(), itk::hashtable_node< Value >::next, and itk::hashtable_node< Value >::val.
Referenced by itk::hashtable_base< Value, Alloc >::copy_from().
self& itk::hashtable< Value, Key, HashFcn, ExtractKey, EqualKey, Alloc >::operator= | ( | const self & | ht | ) | [inline] |
Definition at line 403 of file itk_hashtable.h.
IUEi_STL_INLINE void itk::hashtable< Value, Key, HashFcn, ExtractKey, EqualKey, Alloc >::resize | ( | size_type | num_elements_hint | ) |
size_type itk::hashtable< Value, Key, HashFcn, ExtractKey, EqualKey, Alloc >::size | ( | ) | const [inline] |
void itk::hashtable< Value, Key, HashFcn, ExtractKey, EqualKey, Alloc >::swap | ( | self & | ht | ) | [inline] |
Definition at line 422 of file itk_hashtable.h.
References itk::hashtable< Value, Key, HashFcn, ExtractKey, EqualKey, Alloc >::size().
Referenced by itk::hash_multiset< Value,,, >::swap(), itk::hash_set< Value,,, >::swap(), itk::hash_multimap< Key, T,,, >::swap(), and itk::hash_map< Key, T,,, >::swap().
friend struct hashtable_const_iterator< Value, Key, HashFcn, ExtractKey, EqualKey, Alloc > [friend] |
Definition at line 380 of file itk_hashtable.h.
friend struct hashtable_iterator< Value, Key, HashFcn, ExtractKey, EqualKey, Alloc > [friend] |
Definition at line 379 of file itk_hashtable.h.
bool operator==ITK_FRIEND_TEMPLATE_FUNCTION_ARGUMENT( self | ( | const self & | , | |
const self & | ||||
) | [friend] |
buckets_type itk::hashtable_base< Value, Alloc >::buckets [inherited] |
Definition at line 306 of file itk_hashtable.h.
Referenced by itk::hashtable_base< Value, Alloc >::clear(), itk::hashtable_base< Value, Alloc >::copy_from(), itk::hashtable< Value, Key, HashFcn, ExtractKey, EqualKey, Alloc >::max_bucket_count(), and itk::operator==().
size_type itk::hashtable_base< Value, Alloc >::num_elements [inherited] |
Definition at line 307 of file itk_hashtable.h.
Referenced by itk::hashtable_base< Value, Alloc >::clear(), itk::hashtable_base< Value, Alloc >::copy_from(), and itk::hashtable< Value, Key, HashFcn, ExtractKey, EqualKey, Alloc >::empty().