std::pmr::synchronized_pool_resource::do_allocate
| virtual void* do_allocate( std::size_t bytes, std::size_t alignment ); |
(seit C++17) | |
Allokiert Speicher.
Wenn der für einen Block der Größe bytes ausgewählte Pool die Anfrage nicht aus seinen internen Datenstrukturen befriedigen kann, ruft er allocate() auf der vorgelagerten Speicherressource auf, um Speicher zu erhalten.
Wenn die angeforderte Größe größer ist als das, was der größte Pool verarbeiten kann, wird der Speicher durch Aufrufen von allocate() auf der vorgelagerten Speicherressource allokiert.
[bearbeiten] Rückgabewert
Ein Zeiger auf allokierten Speicher, der mindestens bytes Bytes groß ist, auf die angegebene Ausrichtung alignment ausgerichtet ist, falls eine solche Ausrichtung unterstützt wird, und andernfalls auf alignof(std::max_align_t).
[bearbeiten] Ausnahmen
Wirft nichts, es sei denn, der Aufruf von allocate() auf der vorgelagerten Speicherressource wirft etwas.
[bearbeiten] Siehe auch
| alloziert Speicher (public member function of std::pmr::memory_resource) | |
| [virtuell] |
alloziert Speicher (virtuelle private Memberfunktion von std::pmr::memory_resource) |