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