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

Class template slist_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 slist_member_hook

boost::intrusive::slist_member_hook

Synopsis

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

Description

Поставьте общедоступный элемент данныхslist_member_hookДля хранения объектов этого класса в списке.slist_member_hookсодержит данные, необходимые для ведения списка, и предоставляет соответствующиеЦенностные чертыКласс для списка.

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

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

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

slist_member_hook public construct/copy/destruct

  1. <
    slist_member_hook();
    >

    Эффекты: Если<link_mode><auto_unlink>или<safe_link>инициализирует узел в несвязанное состояние.

    Бросает: Ничего.

  2. <
    slist_member_hook(constslist_member_hook&);
    >

    Эффекты: Если<link_mode><auto_unlink>или<safe_link>инициализирует узел в несвязанное состояние. Аргумент игнорируется.

    Бросает: Ничего.

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

  3. <
    slist_member_hook&operator=(constslist_member_hook&);
    >

    Эффекты: Пустая функция. Аргумент игнорируется.

    Бросает: Ничего.

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

  4. <
    ~slist_member_hook();
    >

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

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

slist_member_hook public member functions

  1. <
    voidswap_nodes(slist_member_hook&other);
    >

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

    Сложность: Постоянная

    Бросает: Ничего.

  2. <
    boolis_linked()const;
    >

    Предварительное условие:<link_mode>должно быть<safe_link>или<auto_unlink>.

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

    Примечание: Если этот элемент называется, когда значение вставлено в список с опцией линейно, эта функция вернет «ложь» для последнего элемента, так как он не связан ни с чем (следующий элемент нулевой), поэтому используйте с осторожностью.

    Сложность: Постоянство

  3. <
    voidunlink();
    >

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

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


PrevUpHomeNext

Статья Class template slist_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-20 02:40:32/0.0061900615692139/1