名前空間
変種
操作

std::allocation_result

From cppreference.com
< cpp‎ | memory
 
 
メモリ管理ライブラリ
(説明用*)
未初期化メモリのアルゴリズム
(C++17)
(C++17)
(C++17)
制約付き未初期化
メモリアルゴリズム
Cライブラリ

アロケータ
allocation_result
(C++23)
メモリリソース
ガベージコレクションのサポート
(C++11)(C++23まで)
(C++11)(C++23まで)
(C++11)(C++23まで)
(C++11)(C++23まで)
(C++11)(C++23まで)
(C++11)(C++23まで)
未初期化ストレージ
(C++20まで*)
(C++20まで*)
明示的な生存期間管理
 
ヘッダ <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_leastallocate_at_leastメンバ関数から返されます。

allocation_resultのすべての特殊化は、基底クラスや宣言されたメンバを持たず、ptrcountのみです。そのため、構造体初期化および構造体バインディングに適しています。

目次

[編集] テンプレートパラメータ

ポインタ - 通常はstd::allocator_traits<Alloc>::pointerであり、ここでAllocAllocator型です。
SizeType - 通常はstd::allocator_traits<Alloc>::size_typeであり、ここでAllocAllocator型です。

[編集] データメンバ

メンバ名 定義
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インターフェースにおけるサイズフィードバック

[編集]

[編集] 関連項目

要求されたサイズ以上の未初期化ストレージを割り当てる
(std::allocator<T>のパブリックメンバ関数) [編集]
[static] (C++23)
アロケーターを介して、要求されたサイズ以上のストレージを割り当てます。
(std::allocator_traits<Alloc> の public static メンバー関数) [編集]
English 日本語 中文(简体) 中文(繁體)