std::pmr::polymorphic_allocator<T>::allocate_bytes
From cppreference.com
< cpp | memory | polymorphic allocator
| void* allocate_bytes( std::size_t nbytes, std::size_t alignment ); std::size_t alignment = alignof(std::max_align_t) ); |
(C++20以降) | |
指定されたアラインメントalignmentで、基になるメモリリソースを使用してnbytesバイトのストレージを確保します。return resource()->allocate(nbytes, alignment);と同等です。
目次 |
[編集] パラメータ
| nbytes | - | 確保するバイト数 |
| alignment | - | 使用するアラインメント |
[編集] 戻り値
確保されたストレージへのポインタ。
[編集] 注釈
この関数は、完全特殊化されたアロケータstd::pmr::polymorphic_allocator<>との使用のために導入されましたが、任意の特殊化で役立つ場合があります。
戻り値の型はvoid*(たとえば、std::byte*ではなく)であり、static_cast<U*>による任意のポインタ型U*への変換をサポートするためです。
[編集] 例外
resource()->allocateの呼び出しによってスローされる可能性のある例外をスローする場合があります。
[編集] 関連項目
| (C++20) |
オブジェクトまたは配列に適した生メモリを割り当てる (公開メンバ関数) |
| (C++20) |
オブジェクトを割り当てて構築する (公開メンバ関数) |
| メモリを割り当てる (公開メンバ関数) | |
| [static] |
アロケータを使用して未初期化のストレージを割り当てる ( std::allocator_traits<Alloc> の public static メンバー関数) |
| メモリを割り当てる ( std::pmr::memory_resource の public メンバー関数) |