xenium
List of all members
xenium::harris_michael_hash_map< Key, Value, Policies >::iterator Class Reference

A ForwardIterator to safely iterate the hash-map. More...

#include <harris_michael_hash_map.hpp>

Detailed Description

template<class Key, class Value, class... Policies>
class xenium::harris_michael_hash_map< Key, Value, Policies >::iterator

A ForwardIterator to safely iterate the hash-map.

Iterators are not invalidated by concurrent insert/erase operations. However, conflicting erase operations can have a negative impact on the performance when advancing the iterator, because it may be necessary to rescan the bucket's list to find the next element.

Note: This iterator class does not provide multi-pass guarantee as a == b does not imply ++a == ++b.

Note: Each iterator internally holds two guard_ptr instances. This has to be considered when using a reclamation scheme that requires per-instance resources like hazard_pointer or hazard_eras. It is therefore highly recommended to use prefix increments wherever possible.