Quantcast
Viewing all articles
Browse latest Browse all 22133

What happened to std::atomic::value_type?

According to this reference manual

For every std::atomic<X> (whether or not specialized), std::atomic<X>::value_type is X.

But if I try using such type I get a compilation error.

I've tried it with g++ 8.2.1:

$ g++ -std=c++11 test.cc 
test.cc: In function ‘int main()’:
test.cc:6:23: error: ‘value_type’ is not a member of ‘std::atomic<int>’
     std::atomic<int>::value_type x = 0;

And with clang 6.0.1

$ clang -std=c++11 test.cc 
test.cc:6:23: error: no type named 'value_type' in 'std::atomic<int>'
    std::atomic<int>::value_type x = 0;
~~~~~~~~~~~~~~~~~~^

The afore mentioned reference manual specifies also says that...

specification was substantially rewritten to resolve numerous issues in particular, member typedefs value_type and difference_type are added

The P0558R1 specification however seems not to forbid the existence of value_type.

Any idea what's going on?

Edit

A colleague of mine made me realize that P0558R1 is just a proposal.


Viewing all articles
Browse latest Browse all 22133

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>