InMemoryDataStorageRef::released_buffer_ptr::release

Материал из CAMaaS preliminary wiki
Версия от 21:34, 17 августа 2019; Андрей Чусов (обсуждение | вклад) (Новая страница: «{{DISPLAYTITLE:InMemoryDataStorageRef::released_buffer_ptr::release}} {{function_begin|void* release() noexcept;|{{InMemoryDataStorageRef::released_buffer_ptr::re…»)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к навигации Перейти к поиску
void* release() noexcept;

Передает владение буфером вызывающей стороне.

Возвращаемое значение:
Указатель на буфер памяти, которой до вызова владел объект this, или nullptr, если this не владел памятью. Полное владение буфером передается вызывающей стороне, которая ответственна за его освобождение с помощью менеджера памяти, с которым ассоциирован this. Экземпляр менеджера памяти, который может быть использован для управления жизнью возвращенного буфера, может быть получен вызовом метода get_allocator над this непосредственно до или после вызова метода release.
См. также
releaseПередает владение буфером вызывающей стороне.

В результате вызова метода release смарт-указатель this не закрывает свой экземпляр менеджера памяти для возможности его получения клиентом с помощью вызова get_allocator, выполняемого после вызова release. Поэтому менеджер продолжает свое существование, как минимум, до уничтожения смарт-указателя this или присваивания ему нового состояния.