From 6fc2d361aa264e616bbe1e303a8958324a0c774f Mon Sep 17 00:00:00 2001
From: John Maddock The following macros describe features that are likely to be
- included in the upcoming ISO C++ standard, C++0x. The following macros describe features that are likely to be included in the
+ upcoming ISO C++ standard, C++0x. Macro The following macros are either simple helpers, or macros that provide
workarounds for compiler/standard library defects.
- Once the test code is in place, build and run the program "generate.cpp" that
- you will find in the boost-root/libs/config/tools/ directory. This generates
- two .cpp test files from the new test code, and adds the tests to the
- regression test Jamfile, and the config_test.cpp test program. Finally add a
- new entry to config_info.cpp so that the new macro gets printed out when that
- program is run.
BOOST_HAS_LONG_LONG
- Compiler
+ Compiler
The compiler supports the long long data type.
@@ -1125,9 +1125,8 @@ void g() { return f(); }
Macros that describe C++0x features
-
-
- BOOST_CXX0X_CONCEPTS
- The compiler supports concepts. Note: concepts have been
- proposed for C++0x, but have not yet been approved for
- inclusion in the language.
+ The compiler supports
+ concepts. Note: concepts have been proposed for C++0x, but have
+ not yet been approved for inclusion in the language.
+
- BOOST_CXX0X_LONG_LONG
- The compiler supports the long long. Identical to BOOST_HAS_LONG_LONG.
-
-
+ The compiler supports the long long. Identical to BOOST_HAS_LONG_LONG.
+
+
+
+ The compiler supports the
+ C99 preprocessor, which includes variadic macros, concatenation of wide
+ string literals, and the BOOST_CXX0X_PREPROCESSOR
- The compiler supports the C99
- preprocessor, which includes variadic macros,
- concatenation of wide string literals, and the
-
- _Pragma
operator.
- _Pragma
operator.
+
+
BOOST_CXX0X_RVALUE_REFERENCES
- The compiler supports rvalue
- references.
+ The compiler supports
+ rvalue references.
BOOST_CXX0X_STATIC_ASSERT
- The compiler supports static assertions.
+ The compiler supports
+ static assertions.
BOOST_CXX0X_VARIADIC_TEMPLATES
- The compiler supports variadic
- templates. Note: variadic templates have been
- proposed for C++0x, but have not yet been approved for
- inclusion in the language.
+ The compiler supports
+ variadic templates. Note: variadic templates have been proposed
+ for C++0x, but have not yet been approved for inclusion in the language.
Boost Helper Macros
Then you should:
+When you need to add a macro that describes a feature that the standard does not require, follow the convention for adding a new defect macro (above), but @@ -1732,8 +1748,9 @@ int test()
Copyright Beman Dawes 2001
Copyright Vesa Karvonen 2001
Copyright John Maddock 2001
-Distributed under the Boost Software License, Version 1.0. (See accompanying file - LICENSE_1_0.txt or copy at www.boost.org/LICENSE_1_0.txt).
+Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at + www.boost.org/LICENSE_1_0.txt).
@@ -1741,4 +1758,3 @@ int test()