Derive a class from unordered_set_base_hook in order to store objects in in an unordered_set/unordered_multi_set. More...
#include <unordered_set_hook.hpp>


Derive a class from unordered_set_base_hook in order to store objects in in an unordered_set/unordered_multi_set.
unordered_set_base_hook holds the data necessary to maintain the unordered_set/unordered_multi_set and provides an appropriate value_traits class for unordered_set/unordered_multi_set.
The hook admits the following options: tag<>, void_pointer<>, link_mode<>, store_hash<> and optimize_multikey<>.
tag<> defines a tag to identify the node. The same tag value can be used in different classes, but if a class is derived from more than one list_base_hook, then each list_base_hook needs its unique tag.
void_pointer<> is the pointer type that will be used internally in the hook and the container configured to use this hook.
link_mode<> will specify the linking mode of the hook (normal_link, auto_unlink or safe_link).
store_hash<> will tell the hook to store the hash of the value to speed up rehashings.
optimize_multikey<> will tell the hook to store a link to form a group with other value with the same value to speed up searches and insertions in unordered_multisets with a great number of with equivalent keys.