std::atomic_ref<T>::fetch_or
来自cppreference.com
< cpp | atomic | atomic ref
并发支持库
|
|
std::atomic_ref
成员函数 | ||||
(C++26) | ||||
非 bool 算术类型与指向对象指针类型的操作 | ||||
非 bool 整数类型与指向对象指针类型的操作 | ||||
(C++26) | ||||
(C++26) | ||||
非 bool 整数类型的操作 | ||||
atomic_ref::fetch_or | ||||
常量 | ||||
仅当 T 为 cvbool 以外的整数类型时提供 | ||
value_type fetch_or( value_type arg, std::memory_order order = | (C++20 起) | |
原子地以被引用对象的当前值和 arg
的逐位或结果替换该值。此操作是读修改写操作。按照 order
的值影响内存。
此重载只有在 std::is_const_v<T> 是 false 时才会参与重载决议。
[编辑]参数
arg | - | 逐位或的另一实参 |
order | - | 要施加的内存定序制约 |
[编辑]返回值
紧接此函数生效前的被引用对象值。
[编辑]缺陷报告
下列更改行为的缺陷报告追溯地应用于以前出版的 C++ 标准。
缺陷报告 | 应用于 | 出版时的行为 | 正确行为 |
---|---|---|---|
LWG 3508 (P3323R1) | C++20 | fetch_or 对 const T 无意义 | 受约束以仅接受非 const 的 T |