std::pmr::monotonic_buffer_resource

From cppreference.com
< cpplrm; | memory
Dynamic memory management
Uninitialized storage
(C++17)
Garbage collection support
Miscellaneous
(C++20)
(C++11)
(C++11)
C Library
Low level memory management
Defined in header <memory_resource>
class monotonic_buffer_resource : public std::pmr::memory_resource;
(since C++17)

The class std::pmr::monotonic_buffer_resource is a special-purpose memory resource class that releases the allocated memory only when the resource is destroyed. It is intended for very fast memory allocations in situations where memory is used to build up a few objects and then is released all at once.

monotonic_buffer_resource can be constructed with an initial buffer. If there is no initial buffer, or if the buffer is exhausted, additional buffers are obtained from an upstream memory resource supplied at construction. The size of buffers obtained follows a geometric progression.

monotonic_buffer_resource is not thread-safe.

Member functions

Constructs a monotonic_buffer_resource
(public member function)
[virtual]
Destroys a monotonic_buffer_resource, releasing all allocated memory
(virtual public member function)
operator=
[deleted]
Copy assignment operator is deleted. monotonic_buffer_resource is not copy assignable
(public member function)
Public member functions
Release all allocated memory
(public member function)
Returns a pointer to the upstream memory resource
(public member function)
Protected member functions
[virtual]
Allocate memory
(virtual protected member function)
No-op
(virtual protected member function)
[virtual]
Compare for equality with another std::pmr::memory_resource
(virtual protected member function)