std::pmr::synchronized_pool_resource::do_allocate

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
 
 
virtual void* do_allocate( std::size_t bytes, std::size_t alignment );
(since C++17)

Allocates storage.

If the pool selected for a block of size bytes is unable to satisfy the request from its internal data structures, calls allocate() on the upstream memory resource to obtain memory.

If the size requested is larger than what the largest pool can handle, memory is allocated by calling allocate() on the upstream memory resource.

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) otherwise.

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)