Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
Разработка программного обеспечения

Class template bs_set_member_hook

Boost , The Boost C++ Libraries BoostBook Documentation Subset , Reference

Boost C++ Libraries

...one of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

PrevUpHomeNext

Class template bs_set_member_hook

boost::intrusive::bs_set_member_hook

Synopsis

// In header: <boost/intrusive/bs_set_hook.hpp>
template<class... Options> 
class bs_set_member_hook : public make_bs_set_member_hook::type< O1, O2, O3 > {
public:
  // construct/copy/destruct
  bs_set_member_hook();
  bs_set_member_hook(const bs_set_member_hook &);
  bs_set_member_hook & operator=(const bs_set_member_hook &);
  ~bs_set_member_hook();
  // public member functions
  void swap_nodes(bs_set_member_hook &);
  bool is_linked() const;
  void unlink();
};

Description

Поместите общедоступный элемент данных bs_set_member_hook для хранения объектов этого класса в bs_set/bs_multiset. bs_set_member_hook содержит данные, необходимые для поддержания bs_set/bs_multiset и обеспечивает соответствующие value_traits Класс для bs_set/bs_multiset.

Крюк допускает следующие варианты: void_pointer<>, link_mode<>.

void_pointer<> - тип указателя, который будет использоваться внутри крючка и контейнера, сконфигурированного для использования этого крючка.

link_mode<> будет указывать режим связывания крючка (normal_link, auto_unlink или safe_link).

bs_set_member_hook public construct/copy/destruct

  1. bs_set_member_hook;

    Последствия: Если link_mode является auto_unlink или safe_link инициализирует узел в несвязанное состояние.

    Броски: Ничего.

  2. bs_set_member_hook(const bs_set_member_hook &;

    Влияние link_mode означает auto_unlink или safe_link инициализирует узел в несвязанное состояние. Аргумент игнорируется.

    Броски: Ничего.

    Рациональность: Предоставление копи-конструктора делает занятия с помощью крючка STL-совместимыми, не заставляя пользователя выполнять какую-то дополнительную работу. swap можно использовать для эмуляции подвижной семантики.

  3. bs_set_member_hook &оператор=(конст bs_set_member_hook &;

    Последствия: Пустая функция. Аргумент игнорируется.

    Броски: Ничего.

    Рациональность: Предоставление оператору задания делает занятия с помощью крючка STL-совместимыми, не заставляя пользователя выполнять какую-то дополнительную работу. swap можно использовать для эмуляции подвижной семантики.

  4. ~bs_set_member_hook();

    Последствия: Если link_mode является normal_link, деструктор ничего не делает (т.е. код не генерируется). Если link_mode является safe_link и объект хранится в наборе, то возникает утверждение. Если link_mode является auto_unlink и is_linked() является истинным, узел является несвязанным.

    Броски: Ничего.

bs_set_member_hook public member functions

  1. void swap_nodes(bs_set_member_hook & other);

    Последствия:Переключение двух узлов сменяет положение элементов, относящихся к этим узлам, в одном или двух контейнерах. То есть, если узел является частью элемента e1, узел x является частью элемента e2 и оба элемента включены в контейнеры s1 и s2, то после операции обмена e1 находится в s2 в положении e2, а e2 находится в s1 в положении e1. Если один элемент не находится в контейнере, то после операции обмена другой элемент не находится в контейнере. Итераторы к e1 и e2, относящиеся к этим узлам, недействительны.

    Сложность: Константа

    Броски: Ничего.

  2. boolссылкаконст;

    Предпосылка: link_mode или auto_unlink.

    Возврат : истинно, если узел принадлежит контейнеру, ложно в противном случае. Эта функция может использоваться для проверки того, будет ли set::iterator_to возвращать действительный итератор.

    Сложность: Константа

  3. void unlink();

    Последствия: Удаляет узел, если он вставлен в контейнер. Эта функция допускается только в том случае, если link_mode auto_unlink.

    Броски: Ничего.


PrevUpHomeNext

Статья Class template bs_set_member_hook раздела The Boost C++ Libraries BoostBook Documentation Subset Reference может быть полезна для разработчиков на c++ и boost.




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.



:: Главная :: Reference ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-08-30 11:47:00
2025-05-19 19:13:03/0.0069401264190674/0