 |
-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 @@
|
- 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.
|
-
-
-
- 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.
- |
-
-
-
-
- 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(); }
-
- |
-
-
-
+ ]] ]
+