CGAL::Handle_hash_function

Definition

The class Handle_hash_function is a model for the UniqueHasFunction concept. It is applicable for all key types with pointer-like functionality, such as handles, iterators, and circulators. Specificaly, for a key value the expression &*key must return a unique address.

#include <CGAL/Handle_hash_function.h>

Is Model for the Concepts

UniqueHashFunction

Creation

Handle_hash_function hash;
default constructor.

Operations

template <class Handle>
std::size_t hash ( Handle key ) returns unique hash value for any Handle type for which &*key gives a unique address.
Requirement:  The type std::iterator_traits<Handle>::value_type has to be defined (which it is already for pointers, handles, iterators, and circulators).

See Also

CGAL::Unique_hash_map<Key,Data,UniqueHashFunction>

Implementation

Plain type cast of &*key to std::size_t and devided by the size of the std::iterator_traits<Handle>::value_type to avoid correlations with the internal table size, which is a power of two.