- memory_resource[meta header]
- function[meta id-type]
- std::pmr[meta namespace]
- pool_resource[meta class]
- cpp17[meta cpp]
void do_deallocate(void* p, std::size_t bytes, std::size_t alignment) override;do_allocateによって割り当てたメモリ領域を解放(割り当て解除)する。
要件等はmemory_resource::do_deallocate()に従う。
pの指すサイズbytesのメモリ領域は、this->do_allocate(bytes, alignment)によって事前に確保された領域であること。
かつ、そのメモリ領域は未解放であること。
p-- 解放する領域へのポインタbytes--pの領域のサイズalignment--p割り当て時のアライメント要求
指定されたメモリ領域を内部プールへ返却する。
ただし、this->upstream_resource()->deallocate()が呼ばれるかどうか、またはどのような状況でthis->upstream_resource()->deallocate()が呼ばれるかは未規定。
投げない。
- C++17
- Clang: ??
- GCC: 9.1
- Visual C++: 2017 update 6