std::pmr::synchronized_pool_resource::do_allocate

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

Allocators
(C++11)
(C++11)
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*)
(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()

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)

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)