Atomics library (C++11)
std::atomic<T>, memory orders, fences, compare-exchange, C compatibility.
Connected features
Papers
13 · Kona 2007 → Batavia 2010Adds std::atomic<T>, memory orders, fences and lock-free queries.
Allows lock-free atomics to be used in signal handlers.
Removes the placeholder Clause 31 from the draft.
Adds implicit conversions from atomic<T> to T. Library paper.
Adds memory_order_consume and dependency ordering. Core paper.
Adds atomic access functions for shared_ptr. Library paper.
Specifies bidirectional fences (atomic_thread_fence). Core paper.
Adds the [[carries_dependency]] annotation for functions. Core paper.
Resolves a first batch of issues with the atomics wording. Library paper; resolves library issues 818, 845, 846.
Adds strong and weak compare_exchange variants. Library paper.
Resolves a second batch of issues with the atomics wording. Library motion 10.
Adds ATOMIC_VAR_INIT and explicit atomic initialization for C compatibility.
Adjusts the atomics API for compatibility with C11's <stdatomic.h>.