Class template scoped_ptr
boost::interprocess::scoped_ptr
Synopsis
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
Явныйscoped_ptrуказатель&p=0,constИсключитель&d=Исключитель;
Конструирует ascoped_ptr
, сохраняя копию p (которая может быть 0) и d. Не бросает.
~scoped_ptr
Если сохраненный указатель не равен 0, уничтожается объект, на который указывает сохраненный указатель. вызов оператора() хранимого удаленного устройства. Никогда не бросайте
scoped_ptr
public member functions
voidresetconstpointer&p=0;
Удалите объект, на который указывает хранимый указатель, а затем сохраните копию p. Никогда не бросайте
voidresetconstpointer&p,constDeleter&d;
Удаляет объект, на который указывает хранимый указатель, а затем сохраняет копию p и копию d.
указательвыпуск;
Назначает внутренний указатель 0 и возвращает предыдущий указатель. Это позволит избежать удаления на деструкторе
.
ссылкаоператор*конст;
Возвращает ссылку на объект, на который указывает сохраненный указатель. Никогда не бросай.
указатель&оператор->;
Возвращает внутренний сохраненный указатель. Никогда не бросай.
constpointer&operator->const;
Возвращает внутренний сохраненный указатель. Никогда не бросай.
указатель&получить;
Возвращает сохраненный указатель. Никогда не бросай.
constpointer&getconst;
Возвращает сохраненный указатель. Никогда не бросай.
операторunspecified_bool_typeconst;
Преобразование в bool Никогда не бросает
boolоператор!const;
Возвращается истинно, если сохраненный указатель равен 0. Никогда не бросай.
voidswapscoped_ptr&b;
Обмен внутренним указателем и удаляющим устройством с другимиscoped_ptr
Никогда не бросай.