set with hashing access More...
#include <hash_set.hh>
Public Types | |
typedef container_type::const_iterator | const_iterator |
const iterator type | |
typedef container_type::iterator | iterator |
iterator type | |
typedef container_type::value_type | value_type |
Value type for cells. | |
Public Member Functions | |
iterator | begin () |
beginning of table | |
const_iterator | begin () const |
beginning of table | |
void | clear () |
Remove all elements. | |
bool | empty () const |
Emptyness test. | |
iterator | end () |
end of table | |
const_iterator | end () const |
end of table | |
void | erase (iterator const &first, iterator const &last) |
Remove range. | |
void | erase (iterator const &i) |
Remove element. | |
void | erase (key_arg key) |
remove element | |
iterator | find (key_arg key) |
Search for element. | |
const_iterator | find (key_arg key) const |
Search key. | |
iterator | insert (key_arg key) |
Cell insertion. | |
size_t | max_size () const |
max element number | |
size_t | size () const |
element count | |
void | swap (hash_set &other) |
swapping function | |
Private Types | |
typedef hash_toolbox::table < Key, Key const, key_extractor, Hash, Equal > | container_type |
typedef container_type::key_arg | key_arg |
typedef identity< Key > | key_extractor |
Private Attributes | |
container_type | the_table |
set with hashing access
This is an unsorted set where elements are accessed using a hash function
Key | the element type |
Hash | hashing functor fo Key |
Eqaul | equality functor for Key |
Definition at line 30 of file hash_set.hh.
typedef container_type::const_iterator utilmm::hash_set< Key, Hash, Equal >::const_iterator |
const iterator type
const iterator type
The type used to iterate through this class without any modification
Definition at line 56 of file hash_set.hh.
typedef hash_toolbox::table< Key, Key const, key_extractor, Hash, Equal > utilmm::hash_set< Key, Hash, Equal >::container_type [private] |
Definition at line 34 of file hash_set.hh.
typedef container_type::iterator utilmm::hash_set< Key, Hash, Equal >::iterator |
iterator type
iterator type
The type used to iterate through and manipulate this class
Definition at line 51 of file hash_set.hh.
typedef container_type::key_arg utilmm::hash_set< Key, Hash, Equal >::key_arg [private] |
Definition at line 35 of file hash_set.hh.
typedef identity<Key> utilmm::hash_set< Key, Hash, Equal >::key_extractor [private] |
Definition at line 32 of file hash_set.hh.
typedef container_type::value_type utilmm::hash_set< Key, Hash, Equal >::value_type |
Value type for cells.
Value type for cells.
For hash_map
value_type
is Key
Definition at line 46 of file hash_set.hh.
iterator utilmm::hash_set< Key, Hash, Equal >::begin | ( | ) | [inline] |
beginning of table
Beginning of table.
Definition at line 93 of file hash_set.hh.
const_iterator utilmm::hash_set< Key, Hash, Equal >::begin | ( | ) | const [inline] |
beginning of table
Beginning of table.
Definition at line 107 of file hash_set.hh.
void utilmm::hash_set< Key, Hash, Equal >::clear | ( | ) | [inline] |
Remove all elements.
remove all elements
This function is strictly equivelent to erase
(begin(), end())
Definition at line 183 of file hash_set.hh.
bool utilmm::hash_set< Key, Hash, Equal >::empty | ( | ) | const [inline] |
Emptyness test.
Emptyness test.
true | if this instance has no element |
false | else |
Definition at line 85 of file hash_set.hh.
iterator utilmm::hash_set< Key, Hash, Equal >::end | ( | ) | [inline] |
end of table
End of table.
Definition at line 100 of file hash_set.hh.
const_iterator utilmm::hash_set< Key, Hash, Equal >::end | ( | ) | const [inline] |
end of table
End of table.
Definition at line 114 of file hash_set.hh.
void utilmm::hash_set< Key, Hash, Equal >::erase | ( | iterator const & | first, |
iterator const & | last | ||
) | [inline] |
Remove range.
Remove elements.
first | an iterator |
last | an iterator |
removes all the element of the table in the range [first, last [
Definition at line 156 of file hash_set.hh.
void utilmm::hash_set< Key, Hash, Equal >::erase | ( | iterator const & | i | ) | [inline] |
Remove element.
i | The lement to remove |
This function removes the element pointed by i form the table
Definition at line 165 of file hash_set.hh.
void utilmm::hash_set< Key, Hash, Equal >::erase | ( | key_arg | key | ) | [inline] |
remove element
key | the element to remove |
This function erase, if any, the element whose value is key
Definition at line 175 of file hash_set.hh.
iterator utilmm::hash_set< Key, Hash, Equal >::find | ( | key_arg | key | ) | [inline] |
Search for element.
key | the element to find. |
This function tries to search in table an element equal to key
end()
if not found. Definition at line 128 of file hash_set.hh.
const_iterator utilmm::hash_set< Key, Hash, Equal >::find | ( | key_arg | key | ) | const [inline] |
Search key.
Search for element.
key | the element to find. |
This function tries to search in table an element equal to key
end()
if not found. Definition at line 135 of file hash_set.hh.
iterator utilmm::hash_set< Key, Hash, Equal >::insert | ( | key_arg | key | ) | [inline] |
Cell insertion.
key | The value to insert |
This function tries to insert key in current instance. It will not insert it if there's already a cell equals to key
iterator
pointing to cell with value key. Definition at line 148 of file hash_set.hh.
size_t utilmm::hash_set< Key, Hash, Equal >::max_size | ( | ) | const [inline] |
max element number
max elmement number
Definition at line 77 of file hash_set.hh.
size_t utilmm::hash_set< Key, Hash, Equal >::size | ( | ) | const [inline] |
element count
element count
Definition at line 70 of file hash_set.hh.
void utilmm::hash_set< Key, Hash, Equal >::swap | ( | hash_set< Key, Hash, Equal > & | other | ) | [inline] |
swapping function
swapping values function
This function exchange the value of current instance with the value of another instance.
other | The other instance |
Definition at line 62 of file hash_set.hh.
container_type utilmm::hash_set< Key, Hash, Equal >::the_table [private] |
Definition at line 37 of file hash_set.hh.