std::pmr::monotonic_buffer_resource::release

From cppreference.com
 
 
Dynamic memory management
Smart pointers
(C++11)
(C++11)
(C++11)
(until C++17)
(C++11)
(C++23)
Allocators
Memory resources
Uninitialized storage
Uninitialized memory algorithms
Constrained uninitialized memory algorithms
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)
Miscellaneous
(C++20)
(C++11)
(C++11)
 
 
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.

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

See also

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