This page is a snapshot from the LWG issues list, see the Library Active Issues List for more information and the meaning of C++20 status.
atomic<floating-point>
doesn't have value_type
or difference_type
Section: 33.5.8.4 [atomics.types.float] Status: C++20 Submitter: Tim Song Opened: 2017-12-11 Last modified: 2021-02-25
Priority: 0
View all issues with C++20 status.
Discussion:
The atomic<floating-point>
specialization doesn't have the value_type
and difference_type
member typedefs, making it
unusable with most of the nonmember function templates. This doesn't seem to be the intent.
[ 2018-01-09 Moved to Tentatively Ready after 6 positive votes on c++std-lib. ]
[2018-3-17 Adopted in Jacksonville]
Proposed resolution:
This wording is relative to N4713.
Edit 33.5.8.4 [atomics.types.float] after p1, class template specialization atomic<floating-point>
synopsis, as indicated:
namespace std { template<> struct atomic<floating-point> { using value_type = floating-point; using difference_type = value_type; static constexpr bool is_always_lock_free = implementation-defined; […] }; }