Class template any_base_hook
boost::intrusive::any_base_hook
Synopsis
Description
Выберите класс из этого крючка, чтобы хранить объекты этого класса в навязчивом контейнере.
Крюк допускает следующие варианты: tag<>, void_pointer<> и link_mode<>.
tag<> определяет тег для идентификации узла. Одно и то же значение тега может использоваться в разных классах, но если класс получен из более чем одного any_base_hook, то каждый any_base_hook нуждается в своем уникальном теге.
link_mode<> будет указывать режим связывания крючка (normal_link, safe_link).
void_pointer<> - тип указателя, который будет использоваться внутри крючка и контейнера, сконфигурированного для использования этого крючка.
any_base_hook
public
construct/copy/destruct
any_base_hook;
Последствия: Если link_mode или safe_link инициализирует узел в несвязанное состояние.
Броски: Ничего.
any_base_hook(const any_base_hook &;
Влияние : Если link_mode является или safe_link инициализирует узел в несвязанное состояние. Аргумент игнорируется.
Броски: Ничего.
Рациональность: Предоставление копи-конструктора делает занятия с помощью крючка STL-совместимыми, не заставляя пользователя выполнять какую-то дополнительную работу. swap можно использовать для эмуляции подвижной семантики.
any_base_hook &оператор=(const any_base_hook &;
Последствия: Пустая функция. Аргумент игнорируется.
Броски: Ничего.
Рациональность: Предоставление оператору задания делает занятия с помощью крючка STL-совместимыми, не заставляя пользователя выполнять какую-то дополнительную работу. swap можно использовать для эмуляции подвижной семантики.
~any_base_hook();
Последствия: Если link_mode является normal_link, деструктор ничего не делает (т.е. код не генерируется). Если link_mode является safe_link и объект хранится в контейнере, то поднимается утверждение.
Броски: Ничего.
any_base_hook public member functions
boolis_linked()const;
Предпосылка: link_mode должна быть safe_link.
Возврат : истинно, если узел принадлежит контейнеру, ложно иначе. Эта функция может использоваться для проверки того, будет ли контейнер::iterator_to возвращать действительный итератор.
Сложность: Константа