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

Class template 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 set_member_hook

boost::intrusive::set_member_hook

Synopsis

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

Description

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

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

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

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

optimize_size<> расскажет крючок, чтобы оптимизировать крючок для размера вместо скорости.

set_member_hook public construct/copy/destruct

  1. set_member_hook();

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

    Throws>>

  2. set_member_hook(const set_member_hook &);

    Следы: Если <2324>link_mode является auto_unlink или _ссылка Аргумент проигнорирован.

    Throws: Nothing.

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

  3. set_member_hook & оператор=(const set_member_hook &;;

    >Effects: Empty function. Аргумент проигнорирован.

    Throws: Nothing.

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

  4. ~set_member_hook();

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

    Throws: Ничего.

set_member_hook public member functions

  1. void swap_nodes(set_member_hook & other);

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

    Комплексность: Постоян

    Throws: Nothing.

  2. bool is_linked() const;

    Pre condition:link_mode должно быть безопасное_link или auto_unlink

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

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

  3. void unlink();

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

    Throws: Nothing.


PrevUpHomeNext

Статья Class template 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-20 07:38:51/0.008336067199707/1