diff --git a/doc/guidelines.qbk b/doc/guidelines.qbk index 934fc44b..d1d78fa6 100644 --- a/doc/guidelines.qbk +++ b/doc/guidelines.qbk @@ -129,12 +129,12 @@ test system proceeds as: * cd into `libs/config/tools` and run `bjam` : this generates the `.cpp` file test cases from the `.ipp` file, updates the libs/config/test/all/Jamfile.v2, `config_test.cpp` and `config_info.cpp`. -* cd into `libs/config/test/all` and run `bjam `['MACRONAME]` compiler-list` : where -['MACRONAME] is the name of the new macro, and `compiler-list` is the list of +* cd into `libs/config/test/all` and run `bjam `['MACRONAME` compiler-list`] : where +['MACRONAME] is the name of the new macro, and ['`compiler-list`] is a space separated list of compilers to test with. You should see the tests pass with those compilers that don't have the defect, and fail with those that do. -* cd into `libs/config/test` and run `bjam config_info config_test compiler-list` : -`config_info` should build and run cleanly for all the compilers in `compiler-list` +* cd into `libs/config/test` and run `bjam config_info config_test `['`compiler-list`] : +`config_info` should build and run cleanly for all the compilers in ['`compiler-list`] while `config_test` should fail for those that have the defect, and pass for those that do not. diff --git a/doc/html/boost_config/acknowledgements.html b/doc/html/boost_config/acknowledgements.html index 901f8a5e..9c596611 100644 --- a/doc/html/boost_config/acknowledgements.html +++ b/doc/html/boost_config/acknowledgements.html @@ -3,7 +3,7 @@ Acknowledgements - + @@ -23,14 +23,14 @@

-Acknowledgements +Acknowledgements

Beman Dawes provided the original config.hpp and part of this document.

- Vesa Karvonen provided a description of the principles (see rationale) + Vesa Karvonen provided a description of the principles (see rationale) and put together an early version of the current configuration setup.

diff --git a/doc/html/boost_config/boost_macro_reference.html b/doc/html/boost_config/boost_macro_reference.html index 143b398b..10467132 100644 --- a/doc/html/boost_config/boost_macro_reference.html +++ b/doc/html/boost_config/boost_macro_reference.html @@ -3,7 +3,7 @@ Boost Macro Reference - + @@ -24,15 +24,17 @@

-Boost Macro Reference +Boost Macro Reference

Macros that describe defects
Macros that describe optional features
-
Macros - that describe C++0x features
+
Macros + that describe possible C++0x features
+
Macros + that describe C++0x features not supported
Boost Helper Macros
Boost @@ -44,7 +46,7 @@

@@ -1202,7 +1204,7 @@

The following macros describe features that are likely to be included in - the upcoming ISO C++ standard, C++0x. + the upcoming ISO C++ standard, C++0x, but have not yet been approved for + inclusion in the language.

@@ -2134,8 +2137,7 @@

- - + + +

BOOST_HAS_CONCEPTS @@ -2143,68 +2145,222 @@

- 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. +

+
+
+
+ +

+ The following macros describe features in the upcoming ISO C++ standard, + C++0x, that are not yet supported by a particular compiler. +

+
+++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -2215,7 +2371,7 @@

@@ -2508,7 +2664,7 @@

@@ -2747,7 +2903,7 @@

@@ -2764,7 +2920,7 @@

@@ -2822,7 +2978,7 @@

diff --git a/doc/html/boost_config/guidelines_for_boost_authors.html b/doc/html/boost_config/guidelines_for_boost_authors.html index f21f3f0c..2e16141f 100644 --- a/doc/html/boost_config/guidelines_for_boost_authors.html +++ b/doc/html/boost_config/guidelines_for_boost_authors.html @@ -3,7 +3,7 @@ Guidelines for Boost Authors - + @@ -24,7 +24,7 @@

@@ -105,7 +105,7 @@

@@ -184,7 +184,7 @@

@@ -243,17 +243,18 @@

  • cd into libs/config/test/all and run bjam - MACRONAME compiler-list + MACRONAME compiler-list : where MACRONAME is the name of the new macro, and - compiler-list is the list of compilers to test - with. You should see the tests pass with those compilers that don't have - the defect, and fail with those that do. + compiler-list is a space separated + list of compilers to test with. You should see the tests pass with those + compilers that don't have the defect, and fail with those that do.
  • cd into libs/config/test and run bjam config_info config_test - compiler-list : config_info - should build and run cleanly for all the compilers in compiler-list + compiler-list + : config_info should build + and run cleanly for all the compilers in compiler-list while config_test should fail for those that have the defect, and pass for those that do not.
  • @@ -282,7 +283,7 @@

    diff --git a/doc/html/boost_config/rationale.html b/doc/html/boost_config/rationale.html index 499cac66..cdd610f0 100644 --- a/doc/html/boost_config/rationale.html +++ b/doc/html/boost_config/rationale.html @@ -3,7 +3,7 @@ Rationale - + @@ -24,7 +24,7 @@

    The problem
    @@ -41,7 +41,7 @@

    Consider a situation in which you are concurrently developing on multiple @@ -104,7 +104,7 @@

    The approach taken by boost's configuration headers is to separate configuration diff --git a/doc/html/index.html b/doc/html/index.html index b9455782..75b113f5 100644 --- a/doc/html/index.html +++ b/doc/html/index.html @@ -3,7 +3,7 @@ Boost.Config - + @@ -28,7 +28,7 @@

    @@ -111,7 +113,7 @@

    @@ -150,10 +152,10 @@ them usable by both Boost library and user code.

    - Boost informational or helper + Boost informational or helper macros are designed for use by Boost users as well as for our own internal - use. Note however, that the feature test - and defect test macros were designed + use. Note however, that the feature test + and defect test macros were designed for internal use by Boost libraries, not user code, so they can change at any time (though no gratuitous changes are made to them). Boost library problems resulting from changes to the configuration macros are caught by the Boost @@ -168,7 +170,7 @@

    +

    + Macro +

    +
    +

    + Description +

    +
     
    +

    + BOOST_NO_CHAR16_T +

    +
    +

    + The compiler does not support type char16_t. +

    +
     
    +

    + BOOST_NO_CHAR32_T +

    +
    +

    + The compiler does not support type char32_t. +

    +
     
    +

    + BOOST_NO_CONSTEXPR +

    +
    +

    + The compiler does not support constexpr. +

    +
     
    +

    + BOOST_NO_DECLTYPE +

    +
    +

    + The compiler does not support decltype. +

    +
     
    +

    + BOOST_NO_DEFAULTED_FUNCTIONS +

    +
    +

    + The compiler does not support defaulted (= + default) functions. [[BOOST_NO_DELETED_FUNCTIONS +

    +
    +

    + The compiler does not support deleted (= + delete) functions.

    - BOOST_HAS_DECLTYPE + BOOST_NO_EXPLICIT_CONVERSION_OPERATIONS

    - The compiler supports decltype. + The compiler does not support explicit conversion operators (explicit operator + T()).

     

    - BOOST_HAS_LONG_LONG + BOOST_NO_EXTERN_TEMPLATE

    - The compiler supports the long long data type. + The compiler does not support explicit instantiation declarations + for templates (explicit template).

     

    - BOOST_HAS_RVALUE_REFS + BOOST_NO_LONG_LONG

    - The compiler supports rvalue references. + The compiler does not support long + long.

     

    - BOOST_HAS_STATIC_ASSERT + BOOST_NO_RAW_LITERALS

    - The compiler supports static assertions. + The compiler does not support raw string literals.

     

    - BOOST_HAS_VARIADIC_TMPL + BOOST_NO_RVALUE_REFERENCES

    - The compiler supports variadic templates. + The compiler does not support r-value references. +

    +
     
    +

    + BOOST_NO_SCOPED_ENUMS +

    +
    +

    + The compiler does not support scoped enumerations (enum class). +

    +
     
    +

    + BOOST_NO_STATIC_ASSERT +

    +
    +

    + The compiler does not support static_assert. +

    +
     
    +

    + BOOST_NO_UNICODE_LITERALS +

    +
    +

    + The compiler does not support Unicode (u8, + u, U#) literals. + ]] [[BOOST_NO_VARIADIC_TEMPLATES` +

    +
    +

    + The compiler does not support variadic templates.

    @@ -318,7 +320,7 @@

    @@ -682,7 +684,7 @@

    @@ -707,13 +709,13 @@

    Next the compiler, standard library, and platform configuration files are included. These are included via macros (BOOST_COMPILER_CONFIG - etc, see user settable macros), + etc, see user settable macros), and if the corresponding macro is undefined then a separate header that detects which compiler/standard library/platform is in use is included in order to set these. The config can be told to ignore these headers altogether if the corresponding BOOST_NO_XXX macro is set (for example BOOST_NO_COMPILER_CONFIG - to disable including any compiler configuration file - see + to disable including any compiler configuration file - see user settable macros).

    @@ -726,7 +728,7 @@

    If you are working on a unix-like platform then you can use the configure script to generate a "frozen" configuration based on your current - compiler setup - see using the configure + compiler setup - see using the configure script for more details.

    - +

    Last revised: May 27, 2008 at 16:07:04 GMT

    Last revised: June 20, 2008 at 00:19:08 GMT


    diff --git a/doc/macro_reference.qbk b/doc/macro_reference.qbk index f37303ba..70e35d51 100644 --- a/doc/macro_reference.qbk +++ b/doc/macro_reference.qbk @@ -487,36 +487,75 @@ standard). [endsect] -[section Macros that describe C++0x features] +[section Macros that describe possible C++0x features] The following macros describe features that are likely to be included in the -upcoming ISO C++ standard, C++0x. +upcoming ISO C++ standard, C++0x, but have not yet been approved for inclusion +in the language. [table [[Macro ][Description ]] [[`BOOST_HAS_CONCEPTS`][ -The compiler supports concepts. Note: concepts have been proposed for C++0x, -but have not yet been approved for inclusion in the language. -]] -[[`BOOST_HAS_DECLTYPE`][ -The compiler supports decltype. -]] -[[`BOOST_HAS_LONG_LONG`][ -The compiler supports the long long data type. -]] -[[`BOOST_HAS_RVALUE_REFS`][ -The compiler supports rvalue references. -]] -[[`BOOST_HAS_STATIC_ASSERT`][ -The compiler supports static assertions. -]] -[[`BOOST_HAS_VARIADIC_TMPL`][ -The compiler supports variadic templates. +The compiler supports concepts. ]] ] +[endsect] + +[section Macros that describe C++0x features not supported] + +The following macros describe features in the upcoming ISO C++ standard, C++0x, +that are not yet supported by a particular compiler. + +[table +[[Macro ][Description ]] + +[[`BOOST_NO_CHAR16_T`][The compiler does not support +type `char16_t`. +]] +[[`BOOST_NO_CHAR32_T`][The compiler does not support +type `char32_t`. +]] +[[`BOOST_NO_CONSTEXPR`][The compiler does not support +`constexpr`. +]] +[[`BOOST_NO_DECLTYPE`][The compiler does not support +`decltype`. +]] +[[`BOOST_NO_DEFAULTED_FUNCTIONS`][The compiler does not support +defaulted (`= default`) functions. +[[`BOOST_NO_DELETED_FUNCTIONS`][The compiler does not support +deleted (`= delete`) functions. +]] +[[`BOOST_NO_EXPLICIT_CONVERSION_OPERATIONS`][The compiler does not support +explicit conversion operators (`explicit operator T()`). +]] +[[`BOOST_NO_EXTERN_TEMPLATE`][The compiler does not support +explicit instantiation declarations for templates (`explicit template`). +]] +[[`BOOST_NO_LONG_LONG`][The compiler does not support `long long`. +]] +[[`BOOST_NO_RAW_LITERALS`][The compiler does not support +raw string literals. +]] +[[`BOOST_NO_RVALUE_REFERENCES`][The compiler does not support +r-value references. +]] +[[`BOOST_NO_SCOPED_ENUMS`][The compiler does not support +scoped enumerations (`enum class`). +]] +[[`BOOST_NO_STATIC_ASSERT`][The compiler does not support +`static_assert`. +]] +[[`BOOST_NO_UNICODE_LITERALS`][The compiler does not support +Unicode (`u8`, `u`, `U') literals. +]] +[[`BOOST_NO_VARIADIC_TEMPLATES`][The compiler does not support +variadic templates. +]] +] [endsect]