Is there any official, or inofficial, #defines for when a compiler is Cpp0x compliant? Even better, for specific Cpp0x functionality (~#cpp0xlambda, #cpp0xrvalue etc)?
(Haven't found anything about this on the net)
For C++03 according to 16.8/1 (Predefined macro names):
The name
__cplusplus
is defined to the value 199711L when compiling a C++ translation unit.
For C++0x draft n2857 according to 16.8/1 (Predefined macro names):
The name
__cplusplus
is defined to the value [tbd] when compiling a C++ translation unit.
Bjarne's C++0x FAQ says:
__cplusplus
In C++0x the macro
__cplusplus
will be set to a value that differs from (is greater than) the current199711L
.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With