名前空間
変種
操作

名前付き要件: Erasable

提供: cppreference.com
< cpp‎ | named req
 
 
名前付き要件
基本
レイアウト
ライブラリ全体
コンテナ
コンテナの要素
Erasable
(C++11)

イテレータ
ストリーム入出力
乱数
並行処理
(C++11)

(C++11)
(C++11)
その他
 

その型のオブジェクトが与えられた Allocator によって破棄可能であることを指定します。

[編集] 要件

以下の内容を満たす場合、型 TT と同一の value_type を持つ Container X から Erasable です。

A アロケータの型
m A 型の左辺値
p コンテナによって準備される T* 型のポインタ

が与えられたとき、以下の式が well-formed でなければなりません。 ただし X::allocator_typestd::allocator_traits<A>::rebind_alloc<T> と同一です。

std::allocator_traits<A>::destroy(m, p);

この項は、アロケータ対応でない場合、アロケータオブジェクトを作成する必要がないことと std::allocator のユーザ定義の特殊化が実体化されないことを除いて、 Astd::allocator<T> であるかのように定義されます。

[編集] ノート

すべての標準ライブラリのコンテナはその要素の型が Erasable を満たすことを要求します。

デフォルトのアロケータでは、この要件は p->~T() の有効性と同等です。 アクセス可能なデストラクタを持つクラス型およびすべてのスカラー型を受理しますが、配列型、関数型、参照型および void を拒否します。

[編集] 関連項目

CopyInsertable
MoveInsertable
EmplaceConstructible
Destructible