mirror of
https://github.com/boostorg/atomic.git
synced 2026-01-19 04:02:09 +00:00
edef50f042e2e57955950fd573155bc2d5c07227
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
Added Windows version specification to fix compilation with MSVC. The code targets for Windows 2000.
Boost.Atomic, part of collection of the Boost C++ Libraries, implements atomic operations for various CPU architectures, reflecting and extending the standard interface defined in C++11.
Directories
- build - Boost.Atomic build scripts
- doc - QuickBook documentation sources
- include - Interface headers of Boost.Atomic
- src - Compilable source code of Boost.Atomic
- test - Boost.Atomic unit tests
More information
- Documentation
- Report bugs. Be sure to mention Boost version, platform and compiler you're using. A small compilable code sample to reproduce the problem is always good as well.
- Submit your patches as pull requests against develop branch. Note that by submitting patches you agree to license your modifications under the Boost Software License, Version 1.0.
Build status
License
Distributed under the Boost Software License, Version 1.0.
Description
Languages
C++
99.3%
CMake
0.7%
