void retire(D d = D(),
rcu_domain& dom = rcu_default_domain()) noexcept;
概要
RCU機構により保護されるオブジェクト回収をスケジュールする。
適格要件
クラステンプレートパラメータT
が、下記条件を満たすRCU保護可能(rcu-protectable)な型であること。
rcu_obj_base<T,D>
型を唯一の基底クラスとして持つクラス型であり、かつ- その基底は公開(public)かつ非仮想基底クラスであり、かつ
- 型
X
,Y
の他の組合せに対してrcu_obj_base<X, Y>
型を基底クラスとして持たない。
事前条件
*this
が型T
のオブジェクトx
の基底クラスサブオブジェクトであること。x
に対してrcu_obj_base<T,D>::retire
が呼び出されていないこと。D
型の説明専用メンバ変数deleter
への代入が例外で終了しないこと。
効果
deleter = std::move(d)
を評価し、- RCUドメイン
dom
に対して式deleter(addressof(x))
の評価をスケジュールする。 dom
に対してスケジュールされた評価を呼び出す可能性がある。
戻り値
なし
バージョン
言語
- C++26
処理系
- Clang: ??
- GCC: ??
- ICC: ??
- Visual C++: ??