Namespaces
Variants
Views
Actions

std::pmr::monotonic_buffer_resource::release

From cppreference.com
 
 
Memory management library
(exposition only*)
Uninitialized memory algorithms
(C++17)
(C++17)
(C++17)
Constrained uninitialized
memory algorithms
C Library

Allocators
Memory resources
Garbage collection support
(C++11)(until C++23)
(C++11)(until C++23)
(C++11)(until C++23)
(C++11)(until C++23)
(C++11)(until C++23)
(C++11)(until C++23)
Uninitialized storage
(until C++20*)
(until C++20*)
Explicit lifetime management
 
 
void release();
(since C++17)

Releases all allocated memory by calling the deallocate function on the upstream memory resource as necessary. Resets current buffer and next buffer size to their initial values at construction.

Memory is released back to the upstream resource even if deallocate has not been called for some of the allocated blocks.

[edit] Defect reports

The following behavior-changing defect reports were applied retroactively to previously published C++ standards.

DR Applied to Behavior as published Correct behavior
LWG 3120 C++17 release might not make initial buffer reusable if provided required to do so

[edit] See also

deallocates memory
(public member function of std::pmr::memory_resource) [edit]