std::allocation_result
From cppreference.com
| ヘッダ <memory> で定義 |
||
| template< class Pointer, class SizeType = std::size_t > struct allocation_result; |
(C++23から) | |
allocation_resultの特殊化は、適切なAllocator型(例:std::allocator::allocate_at_least)およびstd::allocator_traits::allocate_at_leastのallocate_at_leastメンバ関数から返されます。
allocation_resultのすべての特殊化は、基底クラスや宣言されたメンバを持たず、ptrとcountのみです。そのため、構造体初期化および構造体バインディングに適しています。
目次 |
[編集] テンプレートパラメータ
| ポインタ | - | 通常はstd::allocator_traits<Alloc>::pointerであり、ここでAllocはAllocator型です。 |
| SizeType | - | 通常はstd::allocator_traits<Alloc>::size_typeであり、ここでAllocはAllocator型です。 |
[編集] データメンバ
| メンバ名 | 定義 |
| ptr |
Pointer型のポインタ。通常は、allocate_at_leastによって割り当てられたストレージの最初の要素のアドレスに使用されます。(public メンバーオブジェクト) |
| count |
SizeType型の値。通常は、allocate_at_leastによって割り当てられたストレージの実際の要素数に使用されます。(public メンバーオブジェクト) |
[編集] 注記
PointerおよびSizeTypeは、デフォルトではオブジェクト型へのポインタとstd::make_unsigned_t<std::ptrdiff_t>(これはほとんど常にstd::size_tと同じです)です。
| 機能テストマクロ | 値 | 規格 | 機能 |
|---|---|---|---|
__cpp_lib_allocate_at_least |
202302L |
(C++23) | Allocatorインターフェースにおけるサイズフィードバック |
[編集] 例
| このセクションは未完成です 理由: 例がありません |
[編集] 関連項目
| (C++23) |
要求されたサイズ以上の未初期化ストレージを割り当てる ( std::allocator<T>のパブリックメンバ関数) |
| [static] (C++23) |
アロケーターを介して、要求されたサイズ以上のストレージを割り当てます。 ( std::allocator_traits<Alloc> の public static メンバー関数) |