名前付き要件:CopyInsertable
提供: cppreference.com
その型のインスタンスが与えられたアロケータによってその場でコピー構築可能であることを指定します。
[編集]要件
以下の内容を満たす場合、型 T
は T
と同一の value_type
を持つコンテナ X
に CopyInsertable です。
T
が X
に MoveInsertable であり、さらに
A | アロケータの型 |
m | A 型の左辺値 |
p | コンテナによって準備された T* 型のポインタ |
v | T 型の式 (const かもしれません) |
が与えられたとき、以下の式が well-formed でなければなりません。 ただし X::allocator_type
は std::allocator_traits<A>::rebind_alloc<T> と同一です。
std::allocator_traits<A>::construct(m, p, v);
また、評価の後、 *p の値は v の値と同等です。 v の値は変更されません。
この項は、 X
がアロケータ対応でない場合、アロケータオブジェクトを作成する必要がないことと std::allocator のユーザ定義の特殊化が実体化されないことを除いて、 A
が std::allocator<T> であるかのように定義されます。
[編集]ノート
A
が std::allocator<T> の場合、これは ::new((void*)p) T(v) によって行われたかのように配置 new を呼びます。