From db614f7ac200f62bda99d6ffd39aab89cf6c5a01 Mon Sep 17 00:00:00 2001
From: John Maddock
@@ -367,8 +365,7 @@
The compiler does not perform function template ordering or its function
template ordering is incorrect.
@@ -2280,16 +2276,14 @@
us a convenient way to declare such constants. For example instead
of:
use:
my_library.hpp
my_library.cpp
my_library.hpp
my_library.cpp
Copyright © 2001 -2007 Beman Dawes, Vesa Karvonen, John Maddock
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
Boost library implementations access configuration macros via
While Boost library users are not required to include that file directly,
@@ -275,8 +274,7 @@
For example to run the configure script with HP aCC, you might use something
like:
- If you have built the boost
+ If you have built the boost
regression test driver, then you can use this to produce a nice html
formatted report of the results using the supplied test file.
Last revised: November 07, 2007 at 17:16:43 GMT Last revised: February 21, 2008 at 16:56:38 GMT
-
- Compiler does not implement argument-dependent lookup (also named
- Koenig lookup); see std::3.4.2 [basic.koenig.lookup]
+ The compiler locates and searches namespaces that it should *not*
+ in fact search when performing argument dependent lookup.
-
- Standard library
-
- If the compiler / library supplies non-standard or broken
-
- Platform
-
- The Platform does not provide functions for the character-classifying
- operations
-
- Compiler
-
- If template specialisations for cv-qualified types conflict with
- a specialisation for a cv-unqualififed type.
-
-
- Compiler
-
- If template specialisations for cv-void types conflict with a specialisation
- for void.
-
-
- Platform
-
- The Platform does not provide
-
- Platform
-
- The Platform does not provide
-
- Compiler
-
- The compiler fails to compile a nested class that has a dependent
- base class:
+
+
+ [[
- };
-
-
- Compiler
-
- Template value parameters cannot have a dependent type, for example:
-
+ }; ]] [[
-
-
- Standard Library
-
- The standard library does not put some or all of the contents of
-
-
- Compiler
-
- The compiler does not support exception handling (this setting is
- typically required by many C++ compilers for embedded platforms).
- Note that there is no requirement for boost libraries to honor this
- configuration setting - indeed doing so may be impossible in some
- cases. Those libraries that do honor this will typically abort if
- a critical error occurs - you have been warned!
-
-
- Compiler
-
- Can only use deduced template arguments when calling function template
- instantiations.
-
-
- Compiler
-
- The compiler does not perform function template ordering or its function
- template ordering is incorrect.
+ ]] [[
-
-
- Compiler
-
- Compiler violates std::9.4.2/4.
-
-
- Compiler
-
- The C++ implementation does not provide
-
- std lib
-
- The standard library lacks
-
- std lib
-
- The standard library lacks
-
- Compiler
-
- The C++ compiler does not support SFINAE with abstract types, this
- is covered by Core
- Language DR337, but is not part of the current standard.
- Fortunately most compilers that support SFINAE also support this
- DR.
-
-
- Standard library
-
- The C++ implementation does not provide the
-
- Standard library
-
- Constants such as
-
- Standard library
-
- There is no specialization for
-
- Compiler
-
- The compiler does not support the specialization of individual member
- functions of template classes.
-
-
- Compiler
-
- If the compiler supports member templates, but not the template keyword
- when accessing member template classes.
-
-
- Compiler
-
- Member template friend syntax (
-
- Compiler
-
- Member template functions not fully supported.
-
-
- Standard library
-
- There is no specialization for
-
- Compiler
-
- Compiler requires inherited operator friend functions to be defined
- at namespace scope, then using'ed to boost. Probably GCC specific.
- See
-
- Compiler
-
- The compiler does not correctly handle pointers to const member functions,
- preventing use of these in overloaded function templates. See
-
- Compiler
-
- Pointers to members don't work when used as template parameters.
-
-
- Compiler
-
- The compiler misreads 8.5.1, treating classes as non-aggregate if
- they contain private or protected member functions.
-
-
- Compiler
-
- The compiler does not support the "Substitution Failure Is Not
- An Error" meta-programming idiom.
-
-
- Standard library
-
- The C++ standard library does not provide a standards conforming
-
-
- Standard library
-
- The platform does not have a conforming version of
-
- Standard library
-
- The C++ implementation fails to provide the
-
- Standard library
-
- The compiler does not provide a standard compliant implementation
- of
-
- Standard library
-
- The standard library lacks
-
- Standard library
-
- The standard library lacks a conforming
-
- Standard library
-
- The C++ standard library does not provide the
-
- Standard library
-
- Defined if the standard library's output iterators are not assignable.
-
-
- Standard library
-
- The <typeinfo> header declares
-
- Standard library
-
- The standard library lacks a conforming
-
- Standard library
-
- The standard library's implementation of
-
- Standard library
-
- The standard library lacks
-
- Compiler, Platform
-
- The contents of C++ standard headers for C library functions (the
-
-
- Standard library
-
- The C++ implementation does not provide the
-
- Platform
-
- The platform does not have a conforming version of
-
- Compiler
-
- Class template partial specialization (14.5.4 [temp.class.spec])
- not supported.
-
-
- Standard library
-
- The standard library does not provide templated iterator constructors
- for its containers.
-
-
- Compiler
-
- The compiler does not support template template parameters.
-
-
- Compiler
-
- The compiler does not support the typeid operator at all.
-
-
- Compiler
-
- If a return is unreachable, then no return statement should be required,
- however some compilers insist on it, while other issue a bunch of
- warnings if it is in fact present.
-
-
- Compiler
-
- The compiler will not accept a using declaration that brings a function
- from a typename used as a base class into a derived class if functions
- of the same name are present in the derived class.
-
-
- Compiler
-
- The compiler will not accept a using declaration that imports a template
- class or function from another namespace. Originally a Borland specific
- problem with imports to/from the global namespace, extended to MSVC6
- which has a specific issue with importing template classes (but not
- functions).
-
-
- Compiler
-
- The compiler does not allow a void function to return the result
- of calling another void function.
+ ]] [[
- Home
Libraries
-People
-FAQ
+People
+FAQ
More
@@ -47,10 +47,11 @@
-
Home
Libraries
-People
-FAQ
+People
+FAQ
More
@@ -258,8 +258,7 @@
The compiler fails to compile a nested class that has a dependent
base class:
-
-template<typename T>
+
template<typename T>
struct foo : {
template<typename U>
struct bar : public U {};
@@ -285,8 +284,7 @@
Template value parameters cannot have a dependent type, for example:
-
-template<class T, typename T::type value>
+
template<class T, typename T::type value>
class X { ... };
-// #1
+
// #1
template<class T> void f(T);
// #2
@@ -1138,8 +1135,7 @@
The compiler does not allow a void function to return the result
of calling another void function.
-
-void f() {}
+
void f() {}
void g() { return f(); }
-struct foo{
+
struct foo{
static const int value = 2;
};
-struct foo{
+
struct foo{
BOOST_STATIC_CONSTANT(int, value = 2);
};
@@ -2322,8 +2316,7 @@
instantiations if some of the template parameters don't appear in
the function parameter list. For instance:
-
-#include <iostream>
+
#include <iostream>
#include <ostream>
#include <typeinfo>
@@ -2347,8 +2340,7 @@
problem without effects on the calling syntax. For instance, in the
case above write:
-
-template <int n>
+
template <int n>
void f(BOOST_EXPLICIT_TEMPLATE_NON_TYPE(int, n)) { ... }
template <typename T>
@@ -2742,8 +2734,7 @@
-#ifndef MY_INCLUDE_GUARD
+
#ifndef MY_INCLUDE_GUARD
#define MY_INCLUDE_GUARD
// all includes go here:
@@ -2765,8 +2756,7 @@
-...
+
...
// nothing special need be done in the implementation file
...
@@ -2831,8 +2821,7 @@
-...
+
...
//
// Don't include auto-linking code if the user has disabled it by
// defining BOOST_ALL_NO_LIB, or BOOST_MY_LIBRARY_NO_LIB, or if this
@@ -2850,8 +2839,7 @@
-// define BOOST_MY_LIBRARY_SOURCE so that the header knows that the
+
// define BOOST_MY_LIBRARY_SOURCE so that the header knows that the
// library is being built (possibly exporting rather than importing code)
//
#define BOOST_MY_LIBRARY_SOURCE
@@ -2864,10 +2852,11 @@
-
Home
Libraries
-People
-FAQ
+People
+FAQ
More
@@ -125,8 +125,7 @@
the test case in a .ipp
file with the following comments near the top:
-
-// MACRO: BOOST_NO_FOO
+
// MACRO: BOOST_NO_FOO
// TITLE: foo
// DESCRIPTION: If the compiler fails to support foo
@@ -139,8 +138,7 @@
the same name as the macro, but in all lower case, and which returns zero
on success:
-
-namespace boost_no_foo {
+
namespace boost_no_foo {
int test()
{
@@ -280,10 +278,11 @@
-
Home
Libraries
-People
-FAQ
+People
+FAQ
More
@@ -121,10 +121,11 @@
-
Home
Libraries
-People
-FAQ
+People
+FAQ
More
@@ -28,7 +28,7 @@
-#include <boost/config.hpp>
+
#include <boost/config.hpp>
-export CXX="aCC"
+
export CXX="aCC"
export CXXFLAGS="-Aa -DAportable -D__HPACC_THREAD_SAFE_RB_TREE \
-DRWSTD_MULTI_THREAD -DRW_MULTI_THREAD -D_REENTRANT -D_THREAD_SAFE"
export LDFLAGS="-DAportable"
@@ -743,8 +741,7 @@
there. Finally, open up <boost/config/user.hpp>
and edit the following defines:
-
-#define BOOST_COMPILER_CONFIG "boost/config/mysetup/visualc.hpp"
+
#define BOOST_COMPILER_CONFIG "boost/config/mysetup/visualc.hpp"
#define BOOST_STDLIB_CONFIG "boost/config/mysetup/stlport.hpp"
#define BOOST_USER_CONFIG "boost/config/mysetup/win32.hpp"
@@ -930,7 +927,7 @@
to help you out:
-
-
+
+
From a593af70bbd4a3d64761219079954e13e1501b6d Mon Sep 17 00:00:00 2001
From: "K. Noel Belcourt"
-
-Home
+Home
Libraries
People
FAQ
diff --git a/doc/html/boost_config/boost_macro_reference.html b/doc/html/boost_config/boost_macro_reference.html
index 5b2d621d..916fe7a5 100644
--- a/doc/html/boost_config/boost_macro_reference.html
+++ b/doc/html/boost_config/boost_macro_reference.html
@@ -12,7 +12,7 @@
+
-Home
+Home
Libraries
People
FAQ
@@ -119,7 +119,7 @@
-
BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP
+ BOOST_NO_ADL_BARRIER
@@ -129,243 +129,60 @@
-
-
-
-BOOST_NO_AUTO_PTR
-
-
-
-
-std::auto_ptr
.
-
-
-
-
-BOOST_NO_CTYPE_FUNCTIONS
-
-
-
-
-<ctype.h>
and <cctype>
,
- only macros.
-
-
-
-
-BOOST_NO_CV_SPECIALIZATIONS
-
-
-
-
-
-
-
-
-BOOST_NO_CV_VOID_SPECIALIZATIONS
-
-
-
-
-
-
-
-
-BOOST_NO_CWCHAR
-
-
-
-
-<wchar.h>
- and <cwchar>
.
-
-
-
-
-BOOST_NO_CWCTYPE
-
-
-
-
-<wctype.h>
- and <cwctype>
.
-
-
-
-BOOST_NO_DEPENDENT_NESTED_DERIVATIONS
-
-
-
- BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP
][Compiler][
+ Compiler does not implement argument-dependent lookup (also named Koenig
+ lookup); see std::3.4.2 [basic.koenig.lookup] ]] [[BOOST_NO_AUTO_PTR
][Standard
+ library][ If the compiler / library supplies non-standard or broken std::auto_ptr
.
+ ]] [[BOOST_NO_CTYPE_FUNCTIONS
][Platform][
+ The Platform does not provide functions for the character-classifying operations
+ <ctype.h>
+ and <cctype>
, only macros. ]] [[BOOST_NO_CV_SPECIALIZATIONS
][Compiler][
+ If template specialisations for cv-qualified types conflict with a specialisation
+ for a cv-unqualififed type. ]] [[BOOST_NO_CV_VOID_SPECIALIZATIONS
][Compiler][
+ If template specialisations for cv-void types conflict with a specialisation
+ for void. ]] [[BOOST_NO_CWCHAR
][Platform][
+ The Platform does not provide <wchar.h>
and
+ <cwchar>
. ]] [[BOOST_NO_CWCTYPE
][Platform][
+ The Platform does not provide <wctype.h>
and
+ <cwctype>
. ]] [[BOOST_NO_DEPENDENT_NESTED_DERIVATIONS
][Compiler][
+ The compiler fails to compile a nested class that has a dependent base class:
+
template<typename T>
+
template<typename T>
struct foo : {
template<typename U>
struct bar : public U {};
-
-
-
-BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS
-
-
-
-
-BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS
][Compiler][
+ Template value parameters cannot have a dependent type, for example:
template<class T, typename T::type value>
+
template<class T, typename T::type value>
class X { ... };
-
-
-
-BOOST_NO_EXCEPTION_STD_NAMESPACE
-
-
-
-
-<exception>
in namespace std.
-
-
-
-
-BOOST_NO_EXCEPTIONS
-
-
-
-
-
-
-
-
-BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS
-
-
-
-
-
-
-
-
-BOOST_NO_FUNCTION_TEMPLATE_ORDERING
-
-
-
-
-BOOST_NO_EXCEPTION_STD_NAMESPACE
][Standard
+ Library][ The standard library does not put some or all of the contents of
+ <exception>
in namespace std. ]] [[BOOST_NO_EXCEPTIONS
][Compiler][ The compiler
+ does not support exception handling (this setting is typically required by
+ many C++ compilers for embedded platforms). Note that there is no requirement
+ for boost libraries to honor this configuration setting - indeed doing so
+ may be impossible in some cases. Those libraries that do honor this will
+ typically abort if a critical error occurs - you have been warned! ]] [[BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS
][Compiler][
+ Can only use deduced template arguments when calling function template instantiations.
+ ]] [[BOOST_NO_FUNCTION_TEMPLATE_ORDERING
][Compiler][
+ The compiler does not perform function template ordering or its function
+ template ordering is incorrect.
// #1
+
// #1
template<class T> void f(T);
// #2
@@ -376,774 +193,114 @@
f(&bar); // should choose #2.
-
-
-
-BOOST_NO_INCLASS_MEMBER_INITIALIZATION
-
-
-
-
-
-
-
-
-BOOST_NO_INTRINSIC_WCHAR_T
-
-
-
-
-wchar_t
,
- or it is really a synonym for another integral type. Use this symbol
- to decide whether it is appropriate to explicitly specialize a template
- on wchar_t
if there
- is already a specialization for other integer types.
-
-
-
-
-BOOST_NO_IOSFWD
-
-
-
-
-<iosfwd>
.
-
-
-
-
-BOOST_NO_IOSTREAM
-
-
-
-
-<iostream>
,
- <istream>
or <ostream>
.
-
-
-
-
-BOOST_NO_IS_ABSTRACT
-
-
-
-
-
-
-
-
-BOOST_NO_LIMITS
-
-
-
-
-<limits>
- header. Never check for this symbol in library code; always include
- <boost/limits.hpp>
, which guarantees to provide
- std::numeric_limits
.
-
-
-
-
-BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
-
-
-
-
-numeric_limits<T>::is_signed
- are not available for use at compile-time.
-
-
-
-
-BOOST_NO_LONG_LONG_NUMERIC_LIMITS
-
-
-
-
-numeric_limits<long
- long>
- and numeric_limits<unsigned
- long long>
. <boost/limits.hpp>
- will then add these specializations as a standard library "fix"
- only if the compiler supports the long
- long
datatype.
-
-
-
-
-BOOST_NO_MEMBER_FUNCTION_SPECIALIZATIONS
-
-
-
-
-
-
-
-
-BOOST_NO_MEMBER_TEMPLATE_KEYWORD
-
-
-
-
-
-
-
-
-BOOST_NO_MEMBER_TEMPLATE_FRIENDS
-
-
-
-
-template<class
- P>
- friend class
- frd;
)
- described in the C++ Standard, 14.5.3, not supported.
-
-
-
-
-BOOST_NO_MEMBER_TEMPLATES
-
-
-
-
-
-
-
-
-BOOST_NO_MS_INT64_NUMERIC_LIMITS
-
-
-
-
-numeric_limits<__int64>
and numeric_limits<unsigned
- __int64>
.
- <boost/limits.hpp>
will then add these specializations
- as a standard library "fix", only if the compiler supports
- the __int64
datatype.
-
-
-
-
-BOOST_NO_OPERATORS_IN_NAMESPACE
-
-
-
-
-<boost/operators.hpp>
- for example.
-
-
-
-
-BOOST_NO_POINTER_TO_MEMBER_CONST
-
-
-
-
-<boost/functional.hpp>
- for example.
-
-
-
-
-BOOST_NO_POINTER_TO_MEMBER_TEMPLATE_PARAMETERS
-
-
-
-
-
-
-
-
-BOOST_NO_PRIVATE_IN_AGGREGATE
-
-
-
-
-
-
-
-
-BOOST_NO_SFINAE
-
-
-
-
-
-
-
-
-BOOST_NO_STD_ALLOCATOR
-
-
-
-
-std::allocator
.
-
-
-
-
-BOOST_NO_STD_DISTANCE
-
-
-
-
-std::distance
.
-
-
-
-
-BOOST_NO_STD_ITERATOR
-
-
-
-
-std::iterator
- class.
-
-
-
-
-BOOST_NO_STD_ITERATOR_TRAITS
-
-
-
-
-std::iterator_traits
. Note that the
- compiler may still have a non-standard implementation.
-
-
-
-
-BOOST_NO_STD_LOCALE
-
-
-
-
-std::locale
.
-
-
-
-
-BOOST_NO_STD_MESSAGES
-
-
-
-
-std::messages
- facet.
-
-
-
-
-BOOST_NO_STD_MIN_MAX
-
-
-
-
-min()
and max()
template functions that should
- be in <algorithm>
.
-
-
-
-
-BOOST_NO_STD_OUTPUT_ITERATOR_ASSIGN
-
-
-
-
-
-
-
-
-BOOST_NO_STD_TYPEINFO
-
-
-
-
-type_info
- in the global namespace instead of namespace std.
-
-
-
-
-BOOST_NO_STD_USE_FACET
-
-
-
-
-std::use_facet
.
-
-
-
-
-BOOST_NO_STD_WSTREAMBUF
-
-
-
-
-std::basic_streambuf<wchar_t>
is either missing, incomplete,
- or buggy.
-
-
-
-
-BOOST_NO_STD_WSTRING
-
-
-
-
-std::wstring
.
-
-
-
-
-BOOST_NO_STDC_NAMESPACE
-
-
-
-
-<c...>
headers) have not been placed
- in namespace std. This test is difficult - some libraries "fake"
- the std C functions by adding using declarations to import them into
- namespace std, unfortunately they don't necessarily catch all of
- them...
-
-
-
-
-BOOST_NO_STRINGSTREAM
-
-
-
-
-<sstream>
- header.
-
-
-
-
-BOOST_NO_SWPRINTF
-
-
-
-
-swprintf
.
-
-
-
-
-BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-
-
-
-
-
-
-
-
-BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS
-
-
-
-
-
-
-
-
-BOOST_NO_TEMPLATE_TEMPLATES
-
-
-
-
-
-
-
-
-BOOST_NO_TYPEID
-
-
-
-
-
-
-
-
-BOOST_NO_UNREACHABLE_RETURN_DETECTION
-
-
-
-
-
-
-
-
-BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE
-
-
-
-
-
-
-
-
-BOOST_NO_USING_TEMPLATE
-
-
-
-
-
-
-
-
-
-BOOST_NO_VOID_RETURNS
-
-
-
-
-BOOST_NO_INCLASS_MEMBER_INITIALIZATION
][Compiler][
+ Compiler violates std::9.4.2/4. ]] [[BOOST_NO_INTRINSIC_WCHAR_T
][Compiler][
+ The C++ implementation does not provide wchar_t
,
+ or it is really a synonym for another integral type. Use this symbol to decide
+ whether it is appropriate to explicitly specialize a template on wchar_t
if there is already a specialization
+ for other integer types. ]] [[BOOST_NO_IOSFWD
][std
+ lib][ The standard library lacks <iosfwd>
.
+ ]] [[BOOST_NO_IOSTREAM
][std
+ lib][ The standard library lacks <iostream>
,
+ <istream>
or <ostream>
.
+ ]] [[BOOST_NO_IS_ABSTRACT
][Compiler][
+ The C++ compiler does not support SFINAE with abstract types, this is covered
+ by Core
+ Language DR337, but is not part of the current standard. Fortunately
+ most compilers that support SFINAE also support this DR. ]] [[BOOST_NO_LIMITS
][Standard library][ The
+ C++ implementation does not provide the <limits>
+ header. Never check for this symbol in library code; always include <boost/limits.hpp>
,
+ which guarantees to provide std::numeric_limits
.
+ ]] [[BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
][Standard
+ library][ Constants such as numeric_limits<T>::is_signed
are not available for use at
+ compile-time. ]] [[BOOST_NO_LONG_LONG_NUMERIC_LIMITS
][Standard
+ library][ There is no specialization for numeric_limits<long long>
and
+ numeric_limits<unsigned long long>
.
+ <boost/limits.hpp>
+ will then add these specializations as a standard library "fix"
+ only if the compiler supports the long
+ long
datatype. ]] [[BOOST_NO_MEMBER_FUNCTION_SPECIALIZATIONS
][Compiler][
+ The compiler does not support the specialization of individual member functions
+ of template classes. ]] [[BOOST_NO_MEMBER_TEMPLATE_KEYWORD
][Compiler][
+ If the compiler supports member templates, but not the template keyword when
+ accessing member template classes. ]] [[BOOST_NO_MEMBER_TEMPLATE_FRIENDS
][Compiler][
+ Member template friend syntax (template<class P> friend class frd;
) described
+ in the C++ Standard, 14.5.3, not supported. ]] [[BOOST_NO_MEMBER_TEMPLATES
][Compiler][
+ Member template functions not fully supported. ]] [[BOOST_NO_MS_INT64_NUMERIC_LIMITS
][Standard
+ library][ There is no specialization for numeric_limits<__int64>
and numeric_limits<unsigned __int64>
.
+ <boost/limits.hpp>
+ will then add these specializations as a standard library "fix",
+ only if the compiler supports the __int64
+ datatype. ]] [[BOOST_NO_OPERATORS_IN_NAMESPACE
][Compiler][
+ Compiler requires inherited operator friend functions to be defined at namespace
+ scope, then using'ed to boost. Probably GCC specific. See <boost/operators.hpp>
+ for example. ]] [[BOOST_NO_POINTER_TO_MEMBER_CONST
][Compiler][
+ The compiler does not correctly handle pointers to const member functions,
+ preventing use of these in overloaded function templates. See <boost/functional.hpp>
+ for example. ]] [[BOOST_NO_POINTER_TO_MEMBER_TEMPLATE_PARAMETERS
][Compiler][
+ Pointers to members don't work when used as template parameters. ]] [[BOOST_NO_PRIVATE_IN_AGGREGATE
][Compiler][
+ The compiler misreads 8.5.1, treating classes as non-aggregate if they contain
+ private or protected member functions. ]] [[BOOST_NO_SFINAE
][Compiler][
+ The compiler does not support the "Substitution Failure Is Not An Error"
+ meta-programming idiom. ]] [[BOOST_NO_STD_ALLOCATOR
][Standard
+ library][ The C++ standard library does not provide a standards conforming
+ std::allocator
. ]] [[BOOST_NO_STD_DISTANCE
][Standard
+ library][ The platform does not have a conforming version of std::distance
.
+ ]] [[BOOST_NO_STD_ITERATOR
][Standard
+ library][ The C++ implementation fails to provide the std::iterator
+ class. ]] [[BOOST_NO_STD_ITERATOR_TRAITS
][Standard
+ library][ The compiler does not provide a standard compliant implementation
+ of std::iterator_traits
. Note that the compiler
+ may still have a non-standard implementation. ]] [[BOOST_NO_STD_LOCALE
][Standard
+ library][ The standard library lacks std::locale
.
+ ]] [[BOOST_NO_STD_MESSAGES
][Standard
+ library][ The standard library lacks a conforming std::messages
+ facet. ]] [[BOOST_NO_STD_MIN_MAX
][Standard
+ library][ The C++ standard library does not provide the min()
and max()
template functions that should be in <algorithm>
. ]] [[BOOST_NO_STD_OUTPUT_ITERATOR_ASSIGN
][Standard
+ library][ Defined if the standard library's output iterators are not assignable.
+ ]] [[BOOST_NO_STD_TYPEINFO
][Standard
+ library][ The <typeinfo> header declares type_info
+ in the global namespace instead of namespace std. ]] [[BOOST_NO_STD_USE_FACET
][Standard
+ library][ The standard library lacks a conforming std::use_facet
.
+ ]] [[BOOST_NO_STD_WSTREAMBUF
][Standard
+ library][ The standard library's implementation of std::basic_streambuf<wchar_t>
is either missing, incomplete, or buggy.
+ ]] [[BOOST_NO_STD_WSTRING
][Standard
+ library][ The standard library lacks std::wstring
.
+ ]] [[BOOST_NO_STDC_NAMESPACE
][Compiler,
+ Platform][ The contents of C++ standard headers for C library functions (the
+ <c...>
headers) have not been placed in namespace
+ std. This test is difficult - some libraries "fake" the std C functions
+ by adding using declarations to import them into namespace std, unfortunately
+ they don't necessarily catch all of them... ]] [[BOOST_NO_STRINGSTREAM
][Standard
+ library][ The C++ implementation does not provide the <sstream>
+ header. ]] [[BOOST_NO_SWPRINTF
][Platform][
+ The platform does not have a conforming version of swprintf
.
+ ]] [[BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
][Compiler][
+ Class template partial specialization (14.5.4 [temp.class.spec]) not supported.
+ ]] [[BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS
][Standard
+ library][ The standard library does not provide templated iterator constructors
+ for its containers. ]] [[BOOST_NO_TEMPLATE_TEMPLATES
][Compiler][
+ The compiler does not support template template parameters. ]] [[BOOST_NO_TYPEID
][Compiler][ The compiler
+ does not support the typeid operator at all. ]] [[BOOST_NO_UNREACHABLE_RETURN_DETECTION
][Compiler][
+ If a return is unreachable, then no return statement should be required,
+ however some compilers insist on it, while other issue a bunch of warnings
+ if it is in fact present. ]] [[BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE
][Compiler][
+ The compiler will not accept a using declaration that brings a function from
+ a typename used as a base class into a derived class if functions of the
+ same name are present in the derived class. ]] [[BOOST_NO_USING_TEMPLATE
][Compiler][
+ The compiler will not accept a using declaration that imports a template
+ class or function from another namespace. Originally a Borland specific problem
+ with imports to/from the global namespace, extended to MSVC6 which has a
+ specific issue with importing template classes (but not functions). ]] [[BOOST_NO_VOID_RETURNS
][Compiler][ The compiler
+ does not allow a void function to return the result of calling another void
+ function.
void f() {}
+
void f() {}
void g() { return f(); }
diff --git a/doc/html/boost_config/guidelines_for_boost_authors.html b/doc/html/boost_config/guidelines_for_boost_authors.html index 922412ed..0b53b618 100644 --- a/doc/html/boost_config/guidelines_for_boost_authors.html +++ b/doc/html/boost_config/guidelines_for_boost_authors.html @@ -12,7 +12,7 @@
![]() |
-Home | +Home | Libraries | People | FAQ | diff --git a/doc/html/boost_config/rationale.html b/doc/html/boost_config/rationale.html index 28845631..3568c400 100644 --- a/doc/html/boost_config/rationale.html +++ b/doc/html/boost_config/rationale.html @@ -12,7 +12,7 @@
![]() |
-Home | +Home | Libraries | People | FAQ | diff --git a/doc/html/index.html b/doc/html/index.html index f1a6f7c7..030bea81 100644 --- a/doc/html/index.html +++ b/doc/html/index.html @@ -10,7 +10,7 @@
![]() |
-Home | +Home | Libraries | People | FAQ | @@ -28,7 +28,7 @@
Last revised: February 21, 2008 at 16:56:38 GMT |
+Last revised: March 28, 2008 at 17:01:32 GMT |
- [[BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP
][Compiler][
- Compiler does not implement argument-dependent lookup (also named Koenig
- lookup); see std::3.4.2 [basic.koenig.lookup] ]] [[BOOST_NO_AUTO_PTR
][Standard
- library][ If the compiler / library supplies non-standard or broken std::auto_ptr
.
- ]] [[BOOST_NO_CTYPE_FUNCTIONS
][Platform][
- The Platform does not provide functions for the character-classifying operations
- <ctype.h>
- and <cctype>
, only macros. ]] [[BOOST_NO_CV_SPECIALIZATIONS
][Compiler][
- If template specialisations for cv-qualified types conflict with a specialisation
- for a cv-unqualififed type. ]] [[BOOST_NO_CV_VOID_SPECIALIZATIONS
][Compiler][
- If template specialisations for cv-void types conflict with a specialisation
- for void. ]] [[BOOST_NO_CWCHAR
][Platform][
- The Platform does not provide <wchar.h>
and
- <cwchar>
. ]] [[BOOST_NO_CWCTYPE
][Platform][
- The Platform does not provide <wctype.h>
and
- <cwctype>
. ]] [[BOOST_NO_DEPENDENT_NESTED_DERIVATIONS
][Compiler][
- The compiler fails to compile a nested class that has a dependent base class:
-
+
+ BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP
+
+ Compiler +
++ Compiler does not implement argument-dependent lookup (also named + Koenig lookup); see std::3.4.2 [basic.koenig.lookup] +
+
+ BOOST_NO_AUTO_PTR
+
+ Standard library +
+
+ If the compiler / library supplies non-standard or broken std::auto_ptr
.
+
+ BOOST_NO_CTYPE_FUNCTIONS
+
+ Platform +
+
+ The Platform does not provide functions for the character-classifying
+ operations <ctype.h>
and <cctype>
,
+ only macros.
+
+ BOOST_NO_CV_SPECIALIZATIONS
+
+ Compiler +
++ If template specialisations for cv-qualified types conflict with + a specialisation for a cv-unqualififed type. +
+
+ BOOST_NO_CV_VOID_SPECIALIZATIONS
+
+ Compiler +
++ If template specialisations for cv-void types conflict with a specialisation + for void. +
+
+ BOOST_NO_CWCHAR
+
+ Platform +
+
+ The Platform does not provide <wchar.h>
+ and <cwchar>
.
+
+ BOOST_NO_CWCTYPE
+
+ Platform +
+
+ The Platform does not provide <wctype.h>
+ and <cwctype>
.
+
+ BOOST_NO_DEPENDENT_NESTED_DERIVATIONS
+
+ Compiler +
++ The compiler fails to compile a nested class that has a dependent + base class:
-template<typename T> +template<typename T> struct foo : { template<typename U> struct bar : public U {};- }; ]] [[
+BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS
][Compiler][ - Template value parameters cannot have a dependent type, for example: + }; +
+ BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS
+
+ Compiler +
++ Template value parameters cannot have a dependent type, for example: +
-template<class T, typename T::type value> +template<class T, typename T::type value> class X { ... };- ]] [[
+BOOST_NO_EXCEPTION_STD_NAMESPACE
][Standard - Library][ The standard library does not put some or all of the contents of -<exception>
in namespace std. ]] [[BOOST_NO_EXCEPTIONS
][Compiler][ The compiler - does not support exception handling (this setting is typically required by - many C++ compilers for embedded platforms). Note that there is no requirement - for boost libraries to honor this configuration setting - indeed doing so - may be impossible in some cases. Those libraries that do honor this will - typically abort if a critical error occurs - you have been warned! ]] [[BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS
][Compiler][ - Can only use deduced template arguments when calling function template instantiations. - ]] [[BOOST_NO_FUNCTION_TEMPLATE_ORDERING
][Compiler][ - The compiler does not perform function template ordering or its function - template ordering is incorrect. +
+ BOOST_NO_EXCEPTION_STD_NAMESPACE
+
+ Standard Library +
+
+ The standard library does not put some or all of the contents of
+ <exception>
in namespace std.
+
+ BOOST_NO_EXCEPTIONS
+
+ Compiler +
++ The compiler does not support exception handling (this setting is + typically required by many C++ compilers for embedded platforms). + Note that there is no requirement for boost libraries to honor this + configuration setting - indeed doing so may be impossible in some + cases. Those libraries that do honor this will typically abort if + a critical error occurs - you have been warned! +
+
+ BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS
+
+ Compiler +
++ Can only use deduced template arguments when calling function template + instantiations. +
+
+ BOOST_NO_FUNCTION_TEMPLATE_ORDERING
+
+ Compiler +
++ The compiler does not perform function template ordering or its function + template ordering is incorrect.
-// #1
+// #1
template<class T> void f(T);
// #2
@@ -193,114 +394,774 @@
f(&bar); // should choose #2.
- ]] [[BOOST_NO_INCLASS_MEMBER_INITIALIZATION
][Compiler][
- Compiler violates std::9.4.2/4. ]] [[BOOST_NO_INTRINSIC_WCHAR_T
][Compiler][
- The C++ implementation does not provide wchar_t
,
- or it is really a synonym for another integral type. Use this symbol to decide
- whether it is appropriate to explicitly specialize a template on wchar_t
if there is already a specialization
- for other integer types. ]] [[BOOST_NO_IOSFWD
][std
- lib][ The standard library lacks <iosfwd>
.
- ]] [[BOOST_NO_IOSTREAM
][std
- lib][ The standard library lacks <iostream>
,
- <istream>
or <ostream>
.
- ]] [[BOOST_NO_IS_ABSTRACT
][Compiler][
- The C++ compiler does not support SFINAE with abstract types, this is covered
- by Core
- Language DR337, but is not part of the current standard. Fortunately
- most compilers that support SFINAE also support this DR. ]] [[BOOST_NO_LIMITS
][Standard library][ The
- C++ implementation does not provide the <limits>
- header. Never check for this symbol in library code; always include <boost/limits.hpp>
,
- which guarantees to provide std::numeric_limits
.
- ]] [[BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
][Standard
- library][ Constants such as numeric_limits<T>::is_signed
are not available for use at
- compile-time. ]] [[BOOST_NO_LONG_LONG_NUMERIC_LIMITS
][Standard
- library][ There is no specialization for numeric_limits<long long>
and
- numeric_limits<unsigned long long>
.
- <boost/limits.hpp>
- will then add these specializations as a standard library "fix"
- only if the compiler supports the long
- long
datatype. ]] [[BOOST_NO_MEMBER_FUNCTION_SPECIALIZATIONS
][Compiler][
- The compiler does not support the specialization of individual member functions
- of template classes. ]] [[BOOST_NO_MEMBER_TEMPLATE_KEYWORD
][Compiler][
- If the compiler supports member templates, but not the template keyword when
- accessing member template classes. ]] [[BOOST_NO_MEMBER_TEMPLATE_FRIENDS
][Compiler][
- Member template friend syntax (template<class P> friend class frd;
) described
- in the C++ Standard, 14.5.3, not supported. ]] [[BOOST_NO_MEMBER_TEMPLATES
][Compiler][
- Member template functions not fully supported. ]] [[BOOST_NO_MS_INT64_NUMERIC_LIMITS
][Standard
- library][ There is no specialization for numeric_limits<__int64>
and numeric_limits<unsigned __int64>
.
- <boost/limits.hpp>
- will then add these specializations as a standard library "fix",
- only if the compiler supports the __int64
- datatype. ]] [[BOOST_NO_OPERATORS_IN_NAMESPACE
][Compiler][
- Compiler requires inherited operator friend functions to be defined at namespace
- scope, then using'ed to boost. Probably GCC specific. See <boost/operators.hpp>
- for example. ]] [[BOOST_NO_POINTER_TO_MEMBER_CONST
][Compiler][
- The compiler does not correctly handle pointers to const member functions,
- preventing use of these in overloaded function templates. See <boost/functional.hpp>
- for example. ]] [[BOOST_NO_POINTER_TO_MEMBER_TEMPLATE_PARAMETERS
][Compiler][
- Pointers to members don't work when used as template parameters. ]] [[BOOST_NO_PRIVATE_IN_AGGREGATE
][Compiler][
- The compiler misreads 8.5.1, treating classes as non-aggregate if they contain
- private or protected member functions. ]] [[BOOST_NO_SFINAE
][Compiler][
- The compiler does not support the "Substitution Failure Is Not An Error"
- meta-programming idiom. ]] [[BOOST_NO_STD_ALLOCATOR
][Standard
- library][ The C++ standard library does not provide a standards conforming
- std::allocator
. ]] [[BOOST_NO_STD_DISTANCE
][Standard
- library][ The platform does not have a conforming version of std::distance
.
- ]] [[BOOST_NO_STD_ITERATOR
][Standard
- library][ The C++ implementation fails to provide the std::iterator
- class. ]] [[BOOST_NO_STD_ITERATOR_TRAITS
][Standard
- library][ The compiler does not provide a standard compliant implementation
- of std::iterator_traits
. Note that the compiler
- may still have a non-standard implementation. ]] [[BOOST_NO_STD_LOCALE
][Standard
- library][ The standard library lacks std::locale
.
- ]] [[BOOST_NO_STD_MESSAGES
][Standard
- library][ The standard library lacks a conforming std::messages
- facet. ]] [[BOOST_NO_STD_MIN_MAX
][Standard
- library][ The C++ standard library does not provide the min()
and max()
template functions that should be in <algorithm>
. ]] [[BOOST_NO_STD_OUTPUT_ITERATOR_ASSIGN
][Standard
- library][ Defined if the standard library's output iterators are not assignable.
- ]] [[BOOST_NO_STD_TYPEINFO
][Standard
- library][ The <typeinfo> header declares type_info
- in the global namespace instead of namespace std. ]] [[BOOST_NO_STD_USE_FACET
][Standard
- library][ The standard library lacks a conforming std::use_facet
.
- ]] [[BOOST_NO_STD_WSTREAMBUF
][Standard
- library][ The standard library's implementation of std::basic_streambuf<wchar_t>
is either missing, incomplete, or buggy.
- ]] [[BOOST_NO_STD_WSTRING
][Standard
- library][ The standard library lacks std::wstring
.
- ]] [[BOOST_NO_STDC_NAMESPACE
][Compiler,
- Platform][ The contents of C++ standard headers for C library functions (the
- <c...>
headers) have not been placed in namespace
- std. This test is difficult - some libraries "fake" the std C functions
- by adding using declarations to import them into namespace std, unfortunately
- they don't necessarily catch all of them... ]] [[BOOST_NO_STRINGSTREAM
][Standard
- library][ The C++ implementation does not provide the <sstream>
- header. ]] [[BOOST_NO_SWPRINTF
][Platform][
- The platform does not have a conforming version of swprintf
.
- ]] [[BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
][Compiler][
- Class template partial specialization (14.5.4 [temp.class.spec]) not supported.
- ]] [[BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS
][Standard
- library][ The standard library does not provide templated iterator constructors
- for its containers. ]] [[BOOST_NO_TEMPLATE_TEMPLATES
][Compiler][
- The compiler does not support template template parameters. ]] [[BOOST_NO_TYPEID
][Compiler][ The compiler
- does not support the typeid operator at all. ]] [[BOOST_NO_UNREACHABLE_RETURN_DETECTION
][Compiler][
- If a return is unreachable, then no return statement should be required,
- however some compilers insist on it, while other issue a bunch of warnings
- if it is in fact present. ]] [[BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE
][Compiler][
- The compiler will not accept a using declaration that brings a function from
- a typename used as a base class into a derived class if functions of the
- same name are present in the derived class. ]] [[BOOST_NO_USING_TEMPLATE
][Compiler][
- The compiler will not accept a using declaration that imports a template
- class or function from another namespace. Originally a Borland specific problem
- with imports to/from the global namespace, extended to MSVC6 which has a
- specific issue with importing template classes (but not functions). ]] [[BOOST_NO_VOID_RETURNS
][Compiler][ The compiler
- does not allow a void function to return the result of calling another void
- function.
+
+
+ BOOST_NO_INCLASS_MEMBER_INITIALIZATION
+
+ Compiler +
++ Compiler violates std::9.4.2/4. +
+
+ BOOST_NO_INTRINSIC_WCHAR_T
+
+ Compiler +
+
+ The C++ implementation does not provide wchar_t
,
+ or it is really a synonym for another integral type. Use this symbol
+ to decide whether it is appropriate to explicitly specialize a template
+ on wchar_t
if there
+ is already a specialization for other integer types.
+
+ BOOST_NO_IOSFWD
+
+ std lib +
+
+ The standard library lacks <iosfwd>
.
+
+ BOOST_NO_IOSTREAM
+
+ std lib +
+
+ The standard library lacks <iostream>
,
+ <istream>
or <ostream>
.
+
+ BOOST_NO_IS_ABSTRACT
+
+ Compiler +
++ The C++ compiler does not support SFINAE with abstract types, this + is covered by Core + Language DR337, but is not part of the current standard. + Fortunately most compilers that support SFINAE also support this + DR. +
+
+ BOOST_NO_LIMITS
+
+ Standard library +
+
+ The C++ implementation does not provide the <limits>
+ header. Never check for this symbol in library code; always include
+ <boost/limits.hpp>
, which guarantees to provide
+ std::numeric_limits
.
+
+ BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
+
+ Standard library +
+
+ Constants such as numeric_limits<T>::is_signed
+ are not available for use at compile-time.
+
+ BOOST_NO_LONG_LONG_NUMERIC_LIMITS
+
+ Standard library +
+
+ There is no specialization for numeric_limits<long
+ long>
+ and numeric_limits<unsigned
+ long long>
. <boost/limits.hpp>
+ will then add these specializations as a standard library "fix"
+ only if the compiler supports the long
+ long
datatype.
+
+ BOOST_NO_MEMBER_FUNCTION_SPECIALIZATIONS
+
+ Compiler +
++ The compiler does not support the specialization of individual member + functions of template classes. +
+
+ BOOST_NO_MEMBER_TEMPLATE_KEYWORD
+
+ Compiler +
++ If the compiler supports member templates, but not the template keyword + when accessing member template classes. +
+
+ BOOST_NO_MEMBER_TEMPLATE_FRIENDS
+
+ Compiler +
+
+ Member template friend syntax (template<class
+ P>
+ friend class
+ frd;
)
+ described in the C++ Standard, 14.5.3, not supported.
+
+ BOOST_NO_MEMBER_TEMPLATES
+
+ Compiler +
++ Member template functions not fully supported. +
+
+ BOOST_NO_MS_INT64_NUMERIC_LIMITS
+
+ Standard library +
+
+ There is no specialization for numeric_limits<__int64>
and numeric_limits<unsigned
+ __int64>
.
+ <boost/limits.hpp>
will then add these specializations
+ as a standard library "fix", only if the compiler supports
+ the __int64
datatype.
+
+ BOOST_NO_OPERATORS_IN_NAMESPACE
+
+ Compiler +
+
+ Compiler requires inherited operator friend functions to be defined
+ at namespace scope, then using'ed to boost. Probably GCC specific.
+ See <boost/operators.hpp>
+ for example.
+
+ BOOST_NO_POINTER_TO_MEMBER_CONST
+
+ Compiler +
+
+ The compiler does not correctly handle pointers to const member functions,
+ preventing use of these in overloaded function templates. See <boost/functional.hpp>
+ for example.
+
+ BOOST_NO_POINTER_TO_MEMBER_TEMPLATE_PARAMETERS
+
+ Compiler +
++ Pointers to members don't work when used as template parameters. +
+
+ BOOST_NO_PRIVATE_IN_AGGREGATE
+
+ Compiler +
++ The compiler misreads 8.5.1, treating classes as non-aggregate if + they contain private or protected member functions. +
+
+ BOOST_NO_SFINAE
+
+ Compiler +
++ The compiler does not support the "Substitution Failure Is Not + An Error" meta-programming idiom. +
+
+ BOOST_NO_STD_ALLOCATOR
+
+ Standard library +
+
+ The C++ standard library does not provide a standards conforming
+ std::allocator
.
+
+ BOOST_NO_STD_DISTANCE
+
+ Standard library +
+
+ The platform does not have a conforming version of std::distance
.
+
+ BOOST_NO_STD_ITERATOR
+
+ Standard library +
+
+ The C++ implementation fails to provide the std::iterator
+ class.
+
+ BOOST_NO_STD_ITERATOR_TRAITS
+
+ Standard library +
+
+ The compiler does not provide a standard compliant implementation
+ of std::iterator_traits
. Note that the
+ compiler may still have a non-standard implementation.
+
+ BOOST_NO_STD_LOCALE
+
+ Standard library +
+
+ The standard library lacks std::locale
.
+
+ BOOST_NO_STD_MESSAGES
+
+ Standard library +
+
+ The standard library lacks a conforming std::messages
+ facet.
+
+ BOOST_NO_STD_MIN_MAX
+
+ Standard library +
+
+ The C++ standard library does not provide the min()
and max()
template functions that should
+ be in <algorithm>
.
+
+ BOOST_NO_STD_OUTPUT_ITERATOR_ASSIGN
+
+ Standard library +
++ Defined if the standard library's output iterators are not assignable. +
+
+ BOOST_NO_STD_TYPEINFO
+
+ Standard library +
+
+ The <typeinfo> header declares type_info
+ in the global namespace instead of namespace std.
+
+ BOOST_NO_STD_USE_FACET
+
+ Standard library +
+
+ The standard library lacks a conforming std::use_facet
.
+
+ BOOST_NO_STD_WSTREAMBUF
+
+ Standard library +
+
+ The standard library's implementation of std::basic_streambuf<wchar_t>
is either missing, incomplete,
+ or buggy.
+
+ BOOST_NO_STD_WSTRING
+
+ Standard library +
+
+ The standard library lacks std::wstring
.
+
+ BOOST_NO_STDC_NAMESPACE
+
+ Compiler, Platform +
+
+ The contents of C++ standard headers for C library functions (the
+ <c...>
headers) have not been placed
+ in namespace std. This test is difficult - some libraries "fake"
+ the std C functions by adding using declarations to import them into
+ namespace std, unfortunately they don't necessarily catch all of
+ them...
+
+ BOOST_NO_STRINGSTREAM
+
+ Standard library +
+
+ The C++ implementation does not provide the <sstream>
+ header.
+
+ BOOST_NO_SWPRINTF
+
+ Platform +
+
+ The platform does not have a conforming version of swprintf
.
+
+ BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
+
+ Compiler +
++ Class template partial specialization (14.5.4 [temp.class.spec]) + not supported. +
+
+ BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS
+
+ Standard library +
++ The standard library does not provide templated iterator constructors + for its containers. +
+
+ BOOST_NO_TEMPLATE_TEMPLATES
+
+ Compiler +
++ The compiler does not support template template parameters. +
+
+ BOOST_NO_TYPEID
+
+ Compiler +
++ The compiler does not support the typeid operator at all. +
+
+ BOOST_NO_UNREACHABLE_RETURN_DETECTION
+
+ Compiler +
++ If a return is unreachable, then no return statement should be required, + however some compilers insist on it, while other issue a bunch of + warnings if it is in fact present. +
+
+ BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE
+
+ Compiler +
++ The compiler will not accept a using declaration that brings a function + from a typename used as a base class into a derived class if functions + of the same name are present in the derived class. +
+
+ BOOST_NO_USING_TEMPLATE
+
+ Compiler +
++ The compiler will not accept a using declaration that imports a template + class or function from another namespace. Originally a Borland specific + problem with imports to/from the global namespace, extended to MSVC6 + which has a specific issue with importing template classes (but not + functions). +
+
+ BOOST_NO_VOID_RETURNS
+
+ Compiler +
++ The compiler does not allow a void function to return the result + of calling another void function.
-void f() {} +void f() {} void g() { return f(); }- ]] ] -
+ +
diff --git a/doc/html/index.html b/doc/html/index.html index 030bea81..565c0781 100644 --- a/doc/html/index.html +++ b/doc/html/index.html @@ -28,7 +28,7 @@
Copyright © 2001 -2007 Beman Dawes, Vesa Karvonen, John Maddock
Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -958,7 +958,7 @@Last revised: March 28, 2008 at 17:01:32 GMT |
+Last revised: April 04, 2008 at 08:46:37 GMT |
+ The header <boost/config/warning_disable.hpp>
+ can be used to disable certain compiler warings that are hard or impossible
+ to otherwise remove.
+
+ Note that: +
++ Currently it disables the following warnings: +
+
+ + Compiler + + |
+
+ + Warning + + |
+
---|---|
+ + Visual C++ 8 and later + + |
+
+ + C4996: + Error 'function': was declared deprecated + + |
+
+ + Intel C++ + + |
+
+ + Warning 1786: relates to the use of "deprecated" standard + library functions rather like C4996 in Visual C++. + + |
+
Last revised: April 04, 2008 at 08:46:37 GMT |
+Last revised: April 20, 2008 at 12:51:56 GMT |
The header <boost/config/warning_disable.hpp>
diff --git a/doc/html/index.html b/doc/html/index.html
index 46fd33d8..bf3b35b4 100644
--- a/doc/html/index.html
+++ b/doc/html/index.html
@@ -28,7 +28,7 @@
Copyright © 2001 -2007 Beman Dawes, Vesa Karvonen, John Maddock
Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -74,7 +74,7 @@ Boost AuthorsLast revised: April 20, 2008 at 12:51:56 GMT |
+Last revised: April 21, 2008 at 08:38:49 GMT |
+ BOOST_NO_TEMPLATED_IOSTREAMS
+
+ Standard library +
++ The standard library does not provide templated iostream classes. +
+
BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS
diff --git a/doc/html/index.html b/doc/html/index.html
index bf3b35b4..0cfcd61f 100644
--- a/doc/html/index.html
+++ b/doc/html/index.html
@@ -960,7 +960,7 @@
Last revised: April 21, 2008 at 08:38:49 GMT |
+Last revised: April 21, 2008 at 09:16:51 GMT |
+ BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS
+
+ Compiler +
++ The compiler does not correctly handle partial specializations which + depend upon default arguments in the primary template. +
+
BOOST_NO_POINTER_TO_MEMBER_CONST
diff --git a/doc/html/index.html b/doc/html/index.html
index 0cfcd61f..9b92a6dc 100644
--- a/doc/html/index.html
+++ b/doc/html/index.html
@@ -960,7 +960,7 @@
Last revised: April 21, 2008 at 09:16:51 GMT |
+Last revised: April 21, 2008 at 11:41:47 GMT |
libs/config/tools
and run bjam
- --v2
+ cd into libs/config/tools
and run bjam
: this generates the .cpp
- file test cases from the .ipp
file, updates the Jamfile, config_test.cpp
and config_info.cpp
.
+ file test cases from the .ipp
file, updates the libs/config/test/all/Jamfile.v2,
+ config_test.cpp
and config_info.cpp
.
libs/config/test
and run bjam
- --v2
+ 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 compilers to test
@@ -252,7 +251,7 @@
libs/config/test
and run
- bjam --v2 config_info
+ bjam config_info
config_test compiler-list
: config_info
should build
and run cleanly for all the compilers in compiler-list
diff --git a/doc/html/boost_config/rationale.html b/doc/html/boost_config/rationale.html
index 3568c400..499cac66 100644
--- a/doc/html/boost_config/rationale.html
+++ b/doc/html/boost_config/rationale.html
@@ -14,8 +14,8 @@
Copyright © 2001 -2007 Beman Dawes, Vesa Karvonen, John Maddock
Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -960,7 +960,7 @@Last revised: April 21, 2008 at 11:41:47 GMT |
+Last revised: May 27, 2008 at 12:08:04 GMT |
- When you need to add a new defect macro -either to fix a problem with an - existing library, or when adding a new library- distil the issue down to + When you need to add a new defect macro - either to fix a problem with an + existing library, or when adding a new library - distil the issue down to a simple test case; often, at this point other (possibly better) workarounds may become apparent. Secondly always post the test case code to the boost mailing list and invite comments; remember that C++ is complex and that sometimes @@ -213,7 +213,7 @@
These comments are processed by the autoconf script, so make sure the format
follows the one given. The file should be named "boost_no_foo.ipp
",
- where foo is the defect description -try and keep the file name under the
+ where foo is the defect description - try and keep the file name under the
Mac 30 character filename limit though. You will also need to provide a function
prototype "int test()
" that is declared in a namespace with
the same name as the macro, but in all lower case, and which returns zero
@@ -250,11 +250,10 @@
the defect, and fail with those that do.
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.
The compiler/platform/standard library selection code is set up so that unknown - platforms are ignored and assumed to be fully standards compliant -this gives - unknown platforms a "sporting chance" of working "as is" - even without running the configure script. + platforms are ignored and assumed to be fully standards compliant - this + gives unknown platforms a "sporting chance" of working "as + is" even without running the configure script.
When adding or modifying the individual mini-configs, assume that future, diff --git a/doc/html/index.html b/doc/html/index.html index 2c8506e3..b9455782 100644 --- a/doc/html/index.html +++ b/doc/html/index.html @@ -960,7 +960,7 @@
Last revised: May 27, 2008 at 12:08:04 GMT |
+Last revised: May 27, 2008 at 16:07:04 GMT |
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 @@
@@ -1202,7 +1204,7 @@
@@ -2110,12 +2112,13 @@
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.
|
- 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. +
+
+ + Macro + + |
+
+ + Description + + |
++ |
---|---|---|
+
+ |
+
+
+ The compiler does not support type |
++ |
+
+ |
+
+
+ The compiler does not support type |
++ |
+
+ |
+
+
+ The compiler does not support |
++ |
+
+ |
+
+
+ The compiler does not support |
++ |
+
+ |
+
+
+ The compiler does not support defaulted ( |
+
+
+ The compiler does not support deleted ( |
- |
- The compiler supports decltype.
+ The compiler does not support explicit conversion operators ( |
+|
- |
- The compiler supports the long long data type.
+ The compiler does not support explicit instantiation declarations
+ for templates ( |
+|
- |
- The compiler supports rvalue references.
+ The compiler does not support |
+|
- |
- The compiler supports static assertions. + The compiler does not support raw string literals. |
+|
- |
- The compiler supports variadic templates. + The compiler does not support r-value references. + + |
++ |
+
+ |
+
+
+ The compiler does not support scoped enumerations ( |
++ |
+
+ |
+
+
+ The compiler does not support |
++ |
+
+ |
+
+
+ The compiler does not support Unicode ( |
+
+ + The compiler does not support variadic templates. |
Last revised: May 27, 2008 at 16:07:04 GMT |
+Last revised: June 20, 2008 at 00:19:08 GMT |