- rcu[meta header]
- class[meta id-type]
- std[meta namespace]
- cpp26[meta cpp]
namespace std {
class rcu_domain;
}RCU同期メカニズムで保護する共有データに対応付ける、RCUドメインを表現する。
rcu_domainクラスは Cpp17Lockable 要件を満たし、共有データの読み取りをおこなうRCU保護区間を表現する。
RCU保護区間はlock呼び出しからunlock呼び出しのまでの区間であり、RCUドメインに対して同一スレッド上でのRCU保護区間は入れ子になってもよい。
| 名前 | 説明 | 対応バージョン |
|---|---|---|
(constructor) |
コンストラクタ | C++26 |
operator= |
代入演算子 | C++26 |
lock |
共有データの読み取り開始を宣言 | C++26 |
try_lock |
共有データの読み取り開始を宣言 | C++26 |
unlock |
共有データの読み取り終了を宣言 | C++26 |
#include <rcu>
#include <mutex>
int main()
{
std::rcu_domain& dom = std::rcu_default_domain();
{
std::scoped_lock rlock(dom);
// dom.lock()が呼ばれる
} // dom.unlock()が呼ばれる
}- std::rcu_domain[color ff0000]
- std::rcu_default_domain[link rcu_default_domain.md]
- std::scoped_lock[link /reference/mutex/scoped_lock.md]
- C++26
- Clang: ??
- GCC: ??
- Visual C++: ??