std::atomic_flag_clear, std::atomic_flag_clear_explicit

定义于头文件 <atomic>
(1) (C++11 起)
void atomic_flag_clear( volatile std::atomic_flag* p ) noexcept;
void atomic_flag_clear( std::atomic_flag* p ) noexcept;
(2) (C++11 起)
void atomic_flag_clear_explicit( volatile std::atomic_flag* p,
                                 std::memory_order order ) noexcept;
void atomic_flag_clear_explicit( std::atomic_flag* p,
                                 std::memory_order order ) noexcept;

原子地更改 p 所指向的 std::atomic_flag 为清除( false )。

目录

参数

p - 指向要访问的 std::atomic_flag 的指针
order - 此操作所用的内存同步顺序,只容许 std::memory_order_relaxedstd::memory_order_releasestd::memory_order_seq_cst

返回值

无。

可能的实现

版本一
void atomic_flag_clear(volatile std::atomic_flag* p) 
{
    p->clear();
}
版本二
void atomic_flag_clear(std::atomic_flag* p) 
{
    p->clear();
}
版本三
void atomic_flag_clear_explicit(volatile std::atomic_flag* p, 
                                std::memory_order order) 
{
    p->clear(order);
}
版本四
void atomic_flag_clear_explicit(std::atomic_flag* p, 
                                std::memory_order order) 
{
    p->clear(order);
}

参阅

(C++11)
免锁的布尔原子类型
(类)
原子地设置标志为 true 并返回其先前值
(函数)
(C++11)
为给定的原子操作定义内存顺序制约
(typedef)
atomic_flag_clear, atomic_flag_clear_explicitC 文档

版本历史

  • (当前 | 先前 2017年9月29日 (五) 21:12Fruderica讨论 | 贡献. . (1,862字节) (-357). . (撤销)
  • 当前 | 先前 2013年7月2日 (二) 07:18P12bot讨论 | 贡献 . . (2,219字节) (-213). . (Use {{lc}}. Update links. Various fixes.) (撤销)
  • 当前 | 先前 2012年11月2日 (五) 16:18P12bot讨论 | 贡献 . . (2,432字节) (+289). . (r2.7.3) (机器人添加:de, en, es, fr, it, ja, pt, ru) (撤销)
  • 当前 | 先前 2012年10月26日 (五) 09:49P12讨论 | 贡献 . . (2,143字节) (0). . (1个修订: Translate from the English version) (撤销)
  • 当前 | 先前 2012年10月26日 (五) 06:00TranslationBot讨论 | 贡献. . (2,143字节) (-43). . (Translated from the English version using Google Translate) (撤销)
  • 当前 | 先前 2012年10月25日 (四) 13:14P12讨论 | 贡献 . . (2,186字节) (0). . (1个修订: Translate from the English version) (撤销)
  • 当前 | 先前) 2012年10月25日 (四) 12:00TranslationBot讨论 | 贡献. . (2,186字节) (+2,186). . (Translated from the English version using Google Translate)