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

Class template scoped_ptr

Boost , The Boost C++ Libraries BoostBook Documentation Subset , Indexes and 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 scoped_ptr

boost::interprocess::scoped_ptr

Synopsis

// In header: <boost/interprocess/smart_ptr/scoped_ptr.hpp>
template<typename T, typename Deleter> 
class scoped_ptr : private Deleter {
public:
  // types
  typedef T                    element_type;         
  typedef Deleter              deleter_type;         
  typedef unspecified          pointer;              
  typedef pointer this_type::* unspecified_bool_type;
  // construct/copy/destruct
  explicit scoped_ptr(const pointer & = 0, const Deleter & = Deleter());
  ~scoped_ptr();
  // public member functions
  void reset(const pointer & = 0);
  void reset(const pointer &, const Deleter &);
  pointer release();
  reference operator*() const;
  pointer & operator->();
  const pointer & operator->() const;
  pointer & get();
  const pointer & get() const;
  operator unspecified_bool_type() const;
  bool operator!() const;
  void swap(scoped_ptr &);
};

Description

scoped_ptrсохраняет указатель на динамически выделенный объект. Указанный объект гарантированно удаляется либо при уничтоженииscoped_ptr, либо посредством явного сброса. Пользователь может избежать этого удаления с помощью Release().scoped_ptrпараметризуется на T (тип объекта, на который указывается) и Deleter (функтор, который должен быть выполнен для удаления внутреннего указателя). Внутренний указатель будет иметь тот же тип указателя, что и имя типа Deleter::pointer type (то есть, если имя типа Deleter::pointer is offset_ptr, внутренний указатель будет offset_ptr).

scoped_ptr public construct/copy/destruct

  1. Явныйscoped_ptrуказатель&p=0,constИсключитель&d=Исключитель;

    Конструирует ascoped_ptr, сохраняя копию p (которая может быть 0) и d. Не бросает.

  2. ~scoped_ptr

    Если сохраненный указатель не равен 0, уничтожается объект, на который указывает сохраненный указатель. вызов оператора() хранимого удаленного устройства. Никогда не бросайте

scoped_ptr public member functions

  1. voidresetconstpointer&p=0;

    Удалите объект, на который указывает хранимый указатель, а затем сохраните копию p. Никогда не бросайте

  2. voidresetconstpointer&p,constDeleter&d;

    Удаляет объект, на который указывает хранимый указатель, а затем сохраняет копию p и копию d.

  3. указательвыпуск;

    Назначает внутренний указатель 0 и возвращает предыдущий указатель. Это позволит избежать удаления на деструкторе

    .
  4. ссылкаоператор*конст;

    Возвращает ссылку на объект, на который указывает сохраненный указатель. Никогда не бросай.

  5. указатель&оператор->;

    Возвращает внутренний сохраненный указатель. Никогда не бросай.

  6. constpointer&operator->const;

    Возвращает внутренний сохраненный указатель. Никогда не бросай.

  7. указатель&получить;

    Возвращает сохраненный указатель. Никогда не бросай.

  8. constpointer&getconst;

    Возвращает сохраненный указатель. Никогда не бросай.

  9. операторunspecified_bool_typeconst;

    Преобразование в bool Никогда не бросает

  10. boolоператор!const;

    Возвращается истинно, если сохраненный указатель равен 0. Никогда не бросай.

  11. voidswapscoped_ptr&b;

    Обмен внутренним указателем и удаляющим устройством с другимиscoped_ptrНикогда не бросай.


PrevUpHomeNext

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




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



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


реклама


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

Время компиляции файла: 2024-08-30 11:47:00
2025-05-20 02:17:07/0.0060629844665527/1