mirror of
https://github.com/boostorg/atomic.git
synced 2026-01-19 04:02:09 +00:00
The support includes: - The standard fetch_add/fetch_sub operations. - Extra operations: (fetch_/opaque_)negate, (opaque_)add/sub. - Extra capability macros: BOOST_ATOMIC_FLOAT/DOUBLE/LONG_DOUBLE_LOCK_FREE. The atomic operations are currently implemented on top of the integer-based backends and thus are mostly CAS-based. The CAS operations perform binary comparisons, and as such have different behavior wrt. special FP values like NaN and signed zero than normal C++. The support for floating point types is optional and can be disabled by defining BOOST_ATOMIC_NO_FLOATING_POINT. This can be useful if on a certain platform parameters of the floating point types cannot be deduced from the compiler-defined or system macros (in which case the compilation fails). http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0020r6.html
2.1 KiB
2.1 KiB