diff --git a/doc/html/boost_config/boost_macro_reference.html b/doc/html/boost_config/boost_macro_reference.html index 916fe7a5..ac8f1c1f 100644 --- a/doc/html/boost_config/boost_macro_reference.html +++ b/doc/html/boost_config/boost_macro_reference.html @@ -134,55 +134,256 @@

- - -

- [[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 @@
-

+

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


diff --git a/doc/macro_reference.qbk b/doc/macro_reference.qbk index 2e4b026d..ef851872 100644 --- a/doc/macro_reference.qbk +++ b/doc/macro_reference.qbk @@ -40,7 +40,7 @@ Borland specific. ]] [[`BOOST_NO_ADL_BARRIER`][Compiler][ The compiler locates and searches namespaces that it should /*not*/ in fact -search when performing argument dependent lookup.] +search when performing argument dependent lookup. ]] [[`BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP`][Compiler][ Compiler does not implement argument-dependent lookup (also named