template<class... Args>
void* operator new(size_t size, const Args&... args);
概要
task::promise_typeクラスのnew演算子オーバーロード。
allocator_arg_t型のパラメータがなければ、allocをallocator_type()で初期化する。そうでなければ、arg_nextを最初のallocator_arg_tパラメータに続くパラメータとし、allocをallocator_type(arg_next)とする。
U型をサイズおよびアライメントが__STDCPP_DEFAULT_NEW_ALIGNMENT__である未規定の型としたとき、説明用のPAllocをallocator_traits<PAlloc>::template rebind_alloc<U>とする。
適格要件
- (もしあれば)最初の
allocator_arg_t型パラメータが最後のパラメータではない。 allocator_arg_t型のパラメータが存在するとき、allocator_type(arg_next)が妥当な式である。allocator_traits<PAlloc>::pointerがポインタ型である。
効果
PAlloc型のアロケータpallocをallocで初期化する。
サイズsizeのコルーチンステートに十分なストレージとなるUの最小配列ストレージ、およびoperator deleteが後でpallocと等しいアロケータでこのメモリブロックを解放するのに必要となる未規定の追加ストレージの確保にpallocを用いる。
戻り値
確保したストレージへのポインタ
バージョン
言語
- C++26
処理系
- Clang: ??
- GCC: ??
- ICC: ??
- Visual C++: ??