Boost  v1.57.0
doxygen for www.boost.org
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
boost::intrusive::unordered_set_base_hook< O1, O2, O3, O4 > Class Template Reference

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>

Inheritance diagram for boost::intrusive::unordered_set_base_hook< O1, O2, O3, O4 >:
Collaboration diagram for boost::intrusive::unordered_set_base_hook< O1, O2, O3, O4 >:

Detailed Description

template<class O1, class O2, class O3, class O4>
class boost::intrusive::unordered_set_base_hook< O1, O2, O3, O4 >

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.


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