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
возвращать действительный итератор.
Сложность: Константа