最終更新日時(UTC):
が更新

履歴 編集

function
<rcu>

std::rcu_obj_base::retire

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

処理系

関連項目

参照