std::pmr::monotonic_buffer_resource::do_allocate
|
|
|
Public member functions | ||||
Protected member functions | ||||
monotonic_buffer_resource::do_allocate | ||||
virtual
void
* do_allocate(
std::size_t bytes, std::size_t alignment )
;
|
(since C++17) | |
Allocates storage.
If the current buffer has sufficient unused space to fit a block with the specified size and alignment, allocates the return block from the current buffer.
Otherwise, this function allocates a new buffer by calling
upstream_resource()->allocate(n, m)
, where n
is not less than the greater of bytes and the next buffer size and m
is not less than alignment. It sets the new buffer as the current buffer, increases the next buffer size
Return value
A pointer to allocated storage of at least bytes bytes in size, aligned to the specified alignment if such alignment is supported, and to alignof(std::max_align_t)
Exceptions
Throws nothing unless calling allocate()
on the upstream memory resource throws.
See also
allocates memory (public member function of std::pmr::memory_resource ) |
|
[virtual]
|
allocates memory (virtual private member function of std::pmr::memory_resource ) |