Util--  1.1
Public Types | Public Member Functions | List of all members
utilmm::hash_set< Key, Hash, Equal > Class Template Reference

set with hashing access More...

#include <utilmm/hash/hash_set.hh>

Public Types

typedef container_type::value_type value_type
 Value type for cells. More...
 
typedef container_type::iterator iterator
 iterator type More...
 
typedef container_type::const_iterator const_iterator
 const iterator type More...
 

Public Member Functions

void swap (hash_set &other)
 swapping function More...
 
size_t size () const
 element count More...
 
size_t max_size () const
 max element number More...
 
bool empty () const
 Emptyness test. More...
 
iterator begin ()
 beginning of table More...
 
iterator end ()
 end of table More...
 
const_iterator begin () const
 beginning of table More...
 
const_iterator end () const
 end of table More...
 
iterator find (key_arg key)
 Search for element. More...
 
const_iterator find (key_arg key) const
 Search key. More...
 
iterator insert (key_arg key)
 Cell insertion. More...
 
void erase (iterator const &first, iterator const &last)
 Remove range. More...
 
void erase (iterator const &i)
 Remove element. More...
 
void erase (key_arg key)
 remove element More...
 
void clear ()
 Remove all elements. More...
 

Detailed Description

template<typename Key, class Hash = hash<Key>, class Equal = std::equal_to<Key>>
class utilmm::hash_set< Key, Hash, Equal >

set with hashing access

This is an unsorted set where elements are accessed using a hash function

Parameters
Keythe element type
Hashhashing functor fo Key
Eqaulequality functor for Key
See also
utilmm::hash
Author
Frédéric Py fpy@l.nosp@m.aas..nosp@m.fr

Member Typedef Documentation

◆ const_iterator

template<typename Key , class Hash = hash<Key>, class Equal = std::equal_to<Key>>
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

◆ iterator

template<typename Key , class Hash = hash<Key>, class Equal = std::equal_to<Key>>
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

◆ value_type

template<typename Key , class Hash = hash<Key>, class Equal = std::equal_to<Key>>
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

Member Function Documentation

◆ begin() [1/2]

template<typename Key , class Hash = hash<Key>, class Equal = std::equal_to<Key>>
iterator utilmm::hash_set< Key, Hash, Equal >::begin ( )
inline

beginning of table

Beginning of table.

Returns
an iterator pointing to the beginning of the container
See also
end()

References utilmm::hash_toolbox::table< Key, Value, Extract, Hash, Equal >::begin().

◆ begin() [2/2]

template<typename Key , class Hash = hash<Key>, class Equal = std::equal_to<Key>>
const_iterator utilmm::hash_set< Key, Hash, Equal >::begin ( ) const
inline

beginning of table

Beginning of table.

Returns
a const iterator pointing to the beginning of the container
See also
end() const

References utilmm::hash_toolbox::table< Key, Value, Extract, Hash, Equal >::begin().

◆ clear()

template<typename Key , class Hash = hash<Key>, class Equal = std::equal_to<Key>>
void utilmm::hash_set< Key, Hash, Equal >::clear ( )
inline

Remove all elements.

remove all elements This function is strictly equivelent to erase(begin(), end())

References utilmm::hash_toolbox::table< Key, Value, Extract, Hash, Equal >::clear().

◆ empty()

template<typename Key , class Hash = hash<Key>, class Equal = std::equal_to<Key>>
bool utilmm::hash_set< Key, Hash, Equal >::empty ( ) const
inline

Emptyness test.

Emptyness test.

Return values
trueif this instance has no element
falseelse
See also
size() const

References utilmm::hash_toolbox::table< Key, Value, Extract, Hash, Equal >::empty().

◆ end() [1/2]

template<typename Key , class Hash = hash<Key>, class Equal = std::equal_to<Key>>
iterator utilmm::hash_set< Key, Hash, Equal >::end ( )
inline

end of table

End of table.

Returns
an iterator pointing to the end of the container
See also
begin()

References utilmm::hash_toolbox::table< Key, Value, Extract, Hash, Equal >::end().

Referenced by utilmm::hash_set< Key, Hash, Equal >::erase().

◆ end() [2/2]

template<typename Key , class Hash = hash<Key>, class Equal = std::equal_to<Key>>
const_iterator utilmm::hash_set< Key, Hash, Equal >::end ( ) const
inline

end of table

End of table.

Returns
an iterator pointing to the end of the container
See also
begin()

References utilmm::hash_toolbox::table< Key, Value, Extract, Hash, Equal >::end().

◆ erase() [1/3]

template<typename Key , class Hash = hash<Key>, class Equal = std::equal_to<Key>>
void utilmm::hash_set< Key, Hash, Equal >::erase ( iterator const &  first,
iterator const &  last 
)
inline

Remove range.

Remove elements.

Parameters
firstan iterator
lastan iterator

removes all the element of the table in the range [first, last [

References utilmm::hash_toolbox::table< Key, Value, Extract, Hash, Equal >::erase().

Referenced by utilmm::hash_set< Key, Hash, Equal >::erase().

◆ erase() [2/3]

template<typename Key , class Hash = hash<Key>, class Equal = std::equal_to<Key>>
void utilmm::hash_set< Key, Hash, Equal >::erase ( iterator const &  i)
inline

Remove element.

Parameters
iThe lement to remove

This function removes the element pointed by i form the table

References utilmm::hash_set< Key, Hash, Equal >::end(), and utilmm::hash_set< Key, Hash, Equal >::erase().

◆ erase() [3/3]

template<typename Key , class Hash = hash<Key>, class Equal = std::equal_to<Key>>
void utilmm::hash_set< Key, Hash, Equal >::erase ( key_arg  key)
inline

remove element

Parameters
keythe element to remove

This function erase, if any, the element whose value is key

References utilmm::hash_set< Key, Hash, Equal >::erase(), and utilmm::hash_set< Key, Hash, Equal >::find().

◆ find() [1/2]

template<typename Key , class Hash = hash<Key>, class Equal = std::equal_to<Key>>
iterator utilmm::hash_set< Key, Hash, Equal >::find ( key_arg  key)
inline

Search for element.

Parameters
keythe element to find.

This function tries to search in table an element equal to key

Returns
An iterator pointing to the element with value key or end() if not found.

References utilmm::hash_toolbox::table< Key, Value, Extract, Hash, Equal >::equal_range().

Referenced by utilmm::hash_set< Key, Hash, Equal >::erase().

◆ find() [2/2]

template<typename Key , class Hash = hash<Key>, class Equal = std::equal_to<Key>>
const_iterator utilmm::hash_set< Key, Hash, Equal >::find ( key_arg  key) const
inline

Search key.

Search for element.

Parameters
keythe element to find.

This function tries to search in table an element equal to key

Returns
An iterator pointing to the element with value key or end() if not found.

References utilmm::hash_toolbox::table< Key, Value, Extract, Hash, Equal >::equal_range().

◆ insert()

template<typename Key , class Hash = hash<Key>, class Equal = std::equal_to<Key>>
iterator utilmm::hash_set< Key, Hash, Equal >::insert ( key_arg  key)
inline

Cell insertion.

Parameters
keyThe 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

Returns
An iterator pointing to cell with value key.

References utilmm::hash_toolbox::table< Key, Value, Extract, Hash, Equal >::insert_unique().

◆ max_size()

template<typename Key , class Hash = hash<Key>, class Equal = std::equal_to<Key>>
size_t utilmm::hash_set< Key, Hash, Equal >::max_size ( ) const
inline

max element number

max elmement number

Returns
The maximum possible number of elements

References utilmm::hash_toolbox::table< Key, Value, Extract, Hash, Equal >::max_size().

◆ size()

template<typename Key , class Hash = hash<Key>, class Equal = std::equal_to<Key>>
size_t utilmm::hash_set< Key, Hash, Equal >::size ( ) const
inline

element count

element count

Returns
the number of element present in current container

References utilmm::hash_toolbox::table< Key, Value, Extract, Hash, Equal >::size().

◆ swap()

template<typename Key , class Hash = hash<Key>, class Equal = std::equal_to<Key>>
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.

Parameters
otherThe other instance

References utilmm::hash_toolbox::table< Key, Value, Extract, Hash, Equal >::swap().


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

Generated on Mon Sep 24 2018 17:06:40 for Util-- by doxygen 1.8.13
SourceForge.net Project Page