Class template intrusive_ptr
boost::interprocess::intrusive_ptr
Synopsis
Description
Шаблон класса intrusive_ptr хранит указатель на объект с встроенным исходным счетом. intrusive_ptr параметризирован на T (тип объекта указал) и VoidPointer (типа указателя пустоты, который определяет тип указателя, который будет хранить intrusive_ptr). intrusive_ptr определяет класс с членом T*, тогда как intrusive_ptr определяет класс с офсетным членом_ptr. Остается на неквалифицированных призывах:
untrusive_ptr_add_ref(T* p); null intrusive_ptr_release(T* p);
(p!= 0)
Объект несет ответственность за самоуничтожение.
intrusive_ptr
public
construct/copy/destruct
intrusive_ptr();
Конструктор. Не бросает
intrusive_ptr(const pointer & p, bool add_ref = true);
Constructor. Копия указателя и если "p" не равна нулю, а "add_ref" - это настоящие звонки intrusive_ptr_add_ref(to_raw_pointer(p)). Не бросает
intrusive_ptr(intrusive_ptr const & rhs);
Copy конструктор. Копирует внутренний указатель и если "p" не означает нулевых вызовов intrusive_ptr_add_ref(to_raw_pointer(p)). Не бросает
template<typename U> intrusive_ptr(intrusive_ptr< U, VP >const& rstruct.>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Копирует внутренний указатель и если "p" не означает нулевых вызовов intrusive_ptr_add_ref(to_raw_pointer(p)). Не бросает
intrusive_ptr & оператор=(intrusive_ptr const & rhs);
Оператор назначения. Эквивалент intrusive_ptr(r).swap(*This). Не бросает
template<typename U> intrusive_ptr & operator=(intrusive_ptr<UUVP><<>><>>>>>>>>>><>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>< Эквивалент intrusive_ptr(r).swap(*This). Не бросает
intrusive_ptr & оператор=(pointer rhs);
Назначение от указателя. Эквивалент intrusive_ptr(r).swap(*This). Не бросает
~intrusive_ptr();
Destructor. Если внутренний указатель не равен 0, звонит intrusive_ptr_release(to_raw_pointer(m_ptr)). Не бросает
intrusive_ptr
public member functions
pointer & get();
Возвращает ссылку на внутренний указатель. Не бросает
const pointer & get() const;
Возвращает ссылку на внутренний указатель. Не бросает
T & оператор*() const;
Returns *get(). Не бросает
const pointer & operator->() const;
Returns *get(). Не бросает
pointer & оператор->();
Возвращения получают(). Не бросает
оператор Неуказанные_bool_type() const;
Конверсия на боле. Не бросает
bool оператор!()const;
Не оператор. Не бросает
void swap(intrusive_ptr & rhs);
Exchanges содержание двух умных указателей. Не бросает