33
Concurrency support library
[thread]
33.11
Safe reclamation
[saferecl]
33.11.2
Read-copy update (RCU)
[saferecl.rcu]
33.11.2.4
Class
rcu_
domain
[saferecl.rcu.domain]
33.11.2.4.1
General
[saferecl.rcu.domain.general]
namespace
std
{
class
rcu_domain
{
public
:
rcu_domain
(
const
rcu_domain
&
)
=
delete
; rcu_domain
&
operator
=
(
const
rcu_domain
&
)
=
delete
;
void
lock
(
)
noexcept
;
bool
try_lock
(
)
noexcept
;
void
unlock
(
)
noexcept
;
}
;
}
1
#
This class meets the requirements of
Cpp17Lockable
(
[thread.
req.
lockable.
req]
) and provides regions of RCU protection
.
[
Example
1
:
std
::
scoped_lock
<
rcu_domain
>
rlock
(
rcu_default_domain
(
)
)
;
—
end example
]
2
#
The functions
lock
and
unlock
establish (possibly nested) regions of RCU protection
.