Бинарные крючки дерева поиска можно использовать с несколькими древовидными контейнерами, которые не нуждаются в каких-либо дополнительных метаданных для операций ребалансировки. Это имеет много преимуществ, так как крючки дерева двоичного поиска также могут использоваться для вставки значений в простое дерево двоичного поиска, дерево сплея, дерево козла отпущения и контейнеры для пощечин.
template<class...Options>classbs_set_base_hook;
<bs_set_base_hook>: класс пользователя исходит из этого класса, чтобы сделать его совместимым с упомянутыми контейнерами на основе дерева.
template<class...Options>classbs_set_member_hook;
<bs_set_member_hook>Класс пользователя содержит общедоступный элемент этого класса, чтобы сделать его совместимым с упомянутыми контейнерами на основе дерева.
<tag<classTag>>(только для базовых крючков): Этот аргумент служит тегом, поэтому вы можете получить более одного базового крюка. По умолчанию:<tag<default_tag>>.
<void_pointer<classVoidPointer>>: Тип указателя, который должен использоваться внутри крючка и распространяться на контейнер. Дефолт:<void_pointer<void*>>.
Статья Binary search tree hooks: bs_set_base_hook and bs_set_member_hook раздела The Boost C++ Libraries BoostBook Documentation Subset Chapter 17. Boost.Intrusive может быть полезна для разработчиков на c++ и boost.
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.