std::pmr::unsynchronized_pool_resource::do_allocate
From cppreference.com
< cpp | memory | unsynchronized pool resource
| virtual void* do_allocate( std::size_t bytes, std::size_t alignment ); |
(C++17以降) | |
ストレージを確保します。
bytes バイトのブロックに対して選択されたプールが、内部データ構造から要求を満たすことができない場合、上位のメモリリソースの allocate() を呼び出してメモリを取得します。
要求されたサイズが、最も大きなプールが処理できるサイズよりも大きい場合、上位のメモリリソースの allocate() を呼び出してメモリが確保されます。
[編集] 戻り値
少なくとも bytes バイトのサイズで、指定された alignment にアラインされた(そのようなアラインメントがサポートされている場合)、そうでなければ alignof(std::max_align_t) にアラインされた、確保されたストレージへのポインタ。
[編集] 例外
上位のメモリリソースの allocate() の呼び出しが例外をスローしない限り、何もスローしません。
[編集] 関連項目
| メモリを割り当てる ( std::pmr::memory_resource の public メンバー関数) | |
| [virtual] |
メモリを割り当てる ( std::pmr::memory_resource の virtual private メンバ関数) |