diff --git a/doc/html/boost_config/acknowledgements.html b/doc/html/boost_config/acknowledgements.html index d49dfa64..347924f4 100644 --- a/doc/html/boost_config/acknowledgements.html +++ b/doc/html/boost_config/acknowledgements.html @@ -3,7 +3,7 @@
-
- Macro -
++ Macro +
- Section -
++ Section +
- Description -
++ Description +
- BOOST_BCB_PARTIAL_SPECIALIZATION_BUG
-
+ BOOST_BCB_PARTIAL_SPECIALIZATION_BUG
+
- Compiler -
++ Compiler +
- The compiler exibits certain partial specialisation bug - probably - Borland C++ Builder specific. -
++ The compiler exibits certain partial specialisation bug - probably + Borland C++ Builder specific. +
- BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL
-
+ BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL
+
- Compiler -
++ Compiler +
- Argument dependent lookup fails if there is a using declaration
- for the symbol being looked up in the current scope. For example,
- using boost::get_pointer
; prevents ADL from
- finding overloads of get_pointer
- in namespaces nested inside boost (but not elsewhere). Probably
- Borland specific.
-
+ Argument dependent lookup fails if there is a using declaration for
+ the symbol being looked up in the current scope. For example, using
+ boost::get_pointer
; prevents ADL from
+ finding overloads of get_pointer
+ in namespaces nested inside boost (but not elsewhere). Probably Borland
+ specific.
+
- BOOST_NO_ADL_BARRIER
-
+ BOOST_NO_ADL_BARRIER
+
- Compiler -
++ Compiler +
- The compiler locates and searches namespaces that it should *not* - in fact search when performing argument dependent lookup. -
++ The compiler locates and searches namespaces that it should *not* + in fact search when performing argument dependent lookup. +
- BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP
-
+ BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP
+
- Compiler -
++ Compiler +
- Compiler does not implement argument-dependent lookup (also named - Koenig lookup); see std::3.4.2 [basic.koenig.lookup] -
++ Compiler does not implement argument-dependent lookup (also named + Koenig lookup); see std::3.4.2 [basic.koenig.lookup] +
- BOOST_NO_AUTO_PTR
-
+ BOOST_NO_AUTO_PTR
+
- Standard library -
++ Standard library +
- If the compiler / library supplies non-standard or broken std::auto_ptr
.
-
+ If the compiler / library supplies non-standard or broken std::auto_ptr
.
+
- BOOST_NO_COMPLETE_VALUE_INITIALIZATION
-
+ BOOST_NO_COMPLETE_VALUE_INITIALIZATION
+
- Compiler -
++ Compiler +
- Compiler has not completely implemented value-initialization. See - also The - Utility/Value Init docs -
++ Compiler has not completely implemented value-initialization. See + also The + Utility/Value Init docs +
- BOOST_NO_CTYPE_FUNCTIONS
-
+ BOOST_NO_CTYPE_FUNCTIONS
+
- Platform -
++ Platform +
- The Platform does not provide functions for the character-classifying
- operations <ctype.h>
and <cctype>
,
- only macros.
-
+ The Platform does not provide functions for the character-classifying
+ operations <ctype.h>
and <cctype>
,
+ only macros.
+
- BOOST_NO_CV_SPECIALIZATIONS
-
+ BOOST_NO_CV_SPECIALIZATIONS
+
- Compiler -
++ Compiler +
- If template specialisations for cv-qualified types conflict with - a specialisation for a cv-unqualififed type. -
++ If template specialisations for cv-qualified types conflict with + a specialisation for a cv-unqualififed type. +
- BOOST_NO_CV_VOID_SPECIALIZATIONS
-
+ BOOST_NO_CV_VOID_SPECIALIZATIONS
+
- Compiler -
++ Compiler +
- If template specialisations for cv-void types conflict with a specialisation - for void. -
++ If template specialisations for cv-void types conflict with a specialisation + for void. +
- BOOST_NO_CWCHAR
-
+ BOOST_NO_CWCHAR
+
- Platform -
++ Platform +
- The Platform does not provide <wchar.h>
- and <cwchar>
.
-
+ The Platform does not provide <wchar.h>
+ and <cwchar>
.
+
- BOOST_NO_CWCTYPE
-
+ BOOST_NO_CWCTYPE
+
- Platform -
++ Platform +
- The Platform does not provide <wctype.h>
- and <cwctype>
.
-
+ The Platform does not provide <wctype.h>
+ and <cwctype>
.
+
- BOOST_NO_DEPENDENT_NESTED_DERIVATIONS
-
+ BOOST_NO_DEPENDENT_NESTED_DERIVATIONS
+
- Compiler -
++ Compiler +
- The compiler fails to compile a nested class that has a dependent - base class: +
+ The compiler fails to compile a nested class that has a dependent + base class:
template<typename T> struct foo : { @@ -303,106 +303,106 @@ struct bar : public U {};
- }; -
+ }; +
- BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS
-
+ BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS
+
- Compiler -
++ Compiler +
- Template value parameters cannot have a dependent type, for example: - +
+ Template value parameters cannot have a dependent type, for example: +
template<class T, typename T::type value> class X { ... };
-
+
- BOOST_NO_EXCEPTION_STD_NAMESPACE
-
+ BOOST_NO_EXCEPTION_STD_NAMESPACE
+
- Standard Library -
++ Standard Library +
- The standard library does not put some or all of the contents of
- <exception>
in namespace std.
-
+ The standard library does not put some or all of the contents of
+ <exception>
in namespace std.
+
- BOOST_NO_EXCEPTIONS
-
+ BOOST_NO_EXCEPTIONS
+
- Compiler -
++ 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! -
++ 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
-
+ BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS
+
- Compiler -
++ Compiler +
- Can only use deduced template arguments when calling function template - instantiations. -
++ Can only use deduced template arguments when calling function template + instantiations. +
- BOOST_NO_FUNCTION_TEMPLATE_ORDERING
-
+ BOOST_NO_FUNCTION_TEMPLATE_ORDERING
+
- Compiler -
++ Compiler +
- The compiler does not perform function template ordering or its - function template ordering is incorrect. +
+ The compiler does not perform function template ordering or its function + template ordering is incorrect.
// #1 template<class T> void f(T); @@ -415,875 +415,876 @@ f(&bar); // should choose #2.
-
+
- BOOST_NO_INCLASS_MEMBER_INITIALIZATION
-
+ BOOST_NO_INCLASS_MEMBER_INITIALIZATION
+
- Compiler -
++ Compiler +
- Compiler violates std::9.4.2/4. -
++ Compiler violates std::9.4.2/4. +
- BOOST_NO_INTRINSIC_WCHAR_T
-
+ BOOST_NO_INTRINSIC_WCHAR_T
+
- Compiler -
++ 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.
-
+ 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
-
+ BOOST_NO_IOSFWD
+
- std lib -
++ std lib +
- The standard library lacks <iosfwd>
.
-
+ The standard library lacks <iosfwd>
.
+
- BOOST_NO_IOSTREAM
-
+ BOOST_NO_IOSTREAM
+
- std lib -
++ std lib +
- The standard library lacks <iostream>
,
- <istream>
or <ostream>
.
-
+ The standard library lacks <iostream>
,
+ <istream>
or <ostream>
.
+
- BOOST_NO_IS_ABSTRACT
-
+ BOOST_NO_IS_ABSTRACT
+
- Compiler -
++ 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. -
++ 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
-
+ BOOST_NO_LIMITS
+
- Standard library -
++ 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
.
-
+ 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
-
+ BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
+
- Standard library -
++ Standard library +
- Constants such as numeric_limits<T>::is_signed
- are not available for use at compile-time.
-
+ Constants such as numeric_limits<T>::is_signed
+ are not available for use at compile-time.
+
- BOOST_NO_LONG_LONG_NUMERIC_LIMITS
-
+ BOOST_NO_LONG_LONG_NUMERIC_LIMITS
+
- Standard library -
++ 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.
-
+ 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
-
+ BOOST_NO_MEMBER_FUNCTION_SPECIALIZATIONS
+
- Compiler -
++ Compiler +
- The compiler does not support the specialization of individual - member functions of template classes. -
++ The compiler does not support the specialization of individual member + functions of template classes. +
- BOOST_NO_MEMBER_TEMPLATE_KEYWORD
-
+ BOOST_NO_MEMBER_TEMPLATE_KEYWORD
+
- Compiler -
++ Compiler +
- If the compiler supports member templates, but not the template - keyword when accessing member template classes. -
++ If the compiler supports member templates, but not the template keyword + when accessing member template classes. +
- BOOST_NO_MEMBER_TEMPLATE_FRIENDS
-
+ BOOST_NO_MEMBER_TEMPLATE_FRIENDS
+
- Compiler -
++ Compiler +
- Member template friend syntax (template<class
- P>
- friend class
- frd;
)
- described in the C++ Standard, 14.5.3, not supported.
-
+ Member template friend syntax (template<class
+ P>
+ friend class
+ frd;
)
+ described in the C++ Standard, 14.5.3, not supported.
+
- BOOST_NO_MEMBER_TEMPLATES
-
+ BOOST_NO_MEMBER_TEMPLATES
+
- Compiler -
++ Compiler +
- Member template functions not fully supported. -
++ Member template functions not fully supported. +
- BOOST_NO_MS_INT64_NUMERIC_LIMITS
-
+ BOOST_NO_MS_INT64_NUMERIC_LIMITS
+
- Standard library -
++ 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.
-
+ 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_NESTED_FRIENDSHIP
-
+ BOOST_NO_NESTED_FRIENDSHIP
+
- Compiler -
++ Compiler +
- Compiler doesn't allow a nested class to access private members - of its containing class. Probably Borland/CodeGear specific. -
++ Compiler doesn't allow a nested class to access private members of + its containing class. Probably Borland/CodeGear specific. +
- BOOST_NO_OPERATORS_IN_NAMESPACE
-
+ BOOST_NO_OPERATORS_IN_NAMESPACE
+
- Compiler -
++ 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.
-
+ 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_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS
-
+ BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS
+
- Compiler -
++ Compiler +
- The compiler does not correctly handle partial specializations - which depend upon default arguments in the primary template. -
++ The compiler does not correctly handle partial specializations which + depend upon default arguments in the primary template. +
- BOOST_NO_POINTER_TO_MEMBER_CONST
-
+ BOOST_NO_POINTER_TO_MEMBER_CONST
+
- Compiler -
++ 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.
-
+ 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
-
+ BOOST_NO_POINTER_TO_MEMBER_TEMPLATE_PARAMETERS
+
- Compiler -
++ Compiler +
- Pointers to members don't work when used as template parameters. -
++ Pointers to members don't work when used as template parameters. +
- BOOST_NO_PRIVATE_IN_AGGREGATE
-
+ BOOST_NO_PRIVATE_IN_AGGREGATE
+
- Compiler -
++ Compiler +
- The compiler misreads 8.5.1, treating classes as non-aggregate - if they contain private or protected member functions. -
++ The compiler misreads 8.5.1, treating classes as non-aggregate if + they contain private or protected member functions. +
- BOOST_NO_RTTI
-
+ BOOST_NO_RTTI
+
- Compiler -
++ Compiler +
- The compiler may (or may not) have the typeid operator, but RTTI - on the dynamic type of an object is not supported. -
++ The compiler may (or may not) have the typeid operator, but RTTI + on the dynamic type of an object is not supported. +
- BOOST_NO_SFINAE
-
+ BOOST_NO_SFINAE
+
- Compiler -
++ Compiler +
- The compiler does not support the "Substitution Failure Is - Not An Error" meta-programming idiom. -
++ The compiler does not support the "Substitution Failure Is Not + An Error" meta-programming idiom. +
- BOOST_NO_SFINAE_EXPR
-
+ BOOST_NO_SFINAE_EXPR
+
- Compiler -
++ Compiler +
- The compiler does not support usage of SFINAE with arbitrary expressions. -
++ The compiler does not support usage of SFINAE with arbitrary expressions. +
- BOOST_NO_STD_ALLOCATOR
-
+ BOOST_NO_STD_ALLOCATOR
+
- Standard library -
++ Standard library +
- The C++ standard library does not provide a standards conforming
- std::allocator
.
-
+ The C++ standard library does not provide a standards conforming
+ std::allocator
.
+
- BOOST_NO_STD_DISTANCE
-
+ BOOST_NO_STD_DISTANCE
+
- Standard library -
++ Standard library +
- The platform does not have a conforming version of std::distance
.
-
+ The platform does not have a conforming version of std::distance
.
+
- BOOST_NO_STD_ITERATOR
-
+ BOOST_NO_STD_ITERATOR
+
- Standard library -
++ Standard library +
- The C++ implementation fails to provide the std::iterator
- class.
-
+ The C++ implementation fails to provide the std::iterator
+ class.
+
- BOOST_NO_STD_ITERATOR_TRAITS
-
+ BOOST_NO_STD_ITERATOR_TRAITS
+
- Standard library -
++ 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.
-
+ 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
-
+ BOOST_NO_STD_LOCALE
+
- Standard library -
++ Standard library +
- The standard library lacks std::locale
.
-
+ The standard library lacks std::locale
.
+
- BOOST_NO_STD_MESSAGES
-
+ BOOST_NO_STD_MESSAGES
+
- Standard library -
++ Standard library +
- The standard library lacks a conforming std::messages
- facet.
-
+ The standard library lacks a conforming std::messages
+ facet.
+
- BOOST_NO_STD_MIN_MAX
-
+ BOOST_NO_STD_MIN_MAX
+
- Standard library -
++ Standard library +
- The C++ standard library does not provide the min()
and max()
template functions that should
- be in <algorithm>
.
-
+ The C++ standard library does not provide the min()
and max()
template functions that should
+ be in <algorithm>
.
+
- BOOST_NO_STD_OUTPUT_ITERATOR_ASSIGN
-
+ BOOST_NO_STD_OUTPUT_ITERATOR_ASSIGN
+
- Standard library -
++ Standard library +
- Defined if the standard library's output iterators are not assignable. -
++ Defined if the standard library's output iterators are not assignable. +
- BOOST_NO_STD_TYPEINFO
-
+ BOOST_NO_STD_TYPEINFO
+
- Standard library -
++ Standard library +
- The <typeinfo> header declares type_info
- in the global namespace instead of namespace std.
-
+ The <typeinfo> header declares type_info
+ in the global namespace instead of namespace std.
+
- BOOST_NO_STD_USE_FACET
-
+ BOOST_NO_STD_USE_FACET
+
- Standard library -
++ Standard library +
- The standard library lacks a conforming std::use_facet
.
-
+ The standard library lacks a conforming std::use_facet
.
+
- BOOST_NO_STD_WSTREAMBUF
-
+ BOOST_NO_STD_WSTREAMBUF
+
- Standard library -
++ Standard library +
- The standard library's implementation of std::basic_streambuf<wchar_t>
is either missing, incomplete,
- or buggy.
-
+ The standard library's implementation of std::basic_streambuf<wchar_t>
is either missing, incomplete,
+ or buggy.
+
- BOOST_NO_STD_WSTRING
-
+ BOOST_NO_STD_WSTRING
+
- Standard library -
++ Standard library +
- The standard library lacks std::wstring
.
-
+ The standard library lacks std::wstring
.
+
- BOOST_NO_STDC_NAMESPACE
-
+ BOOST_NO_STDC_NAMESPACE
+
- Compiler, Platform -
++ 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...
-
+ 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
-
+ BOOST_NO_STRINGSTREAM
+
- Standard library -
++ Standard library +
- The C++ implementation does not provide the <sstream>
- header.
-
+ The C++ implementation does not provide the <sstream>
+ header.
+
- BOOST_NO_SWPRINTF
-
+ BOOST_NO_SWPRINTF
+
- Platform -
++ Platform +
- The platform does not have a conforming version of swprintf
.
-
+ The platform does not have a conforming version of swprintf
.
+
- BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-
+ BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
+
- Compiler -
++ Compiler +
- Class template partial specialization (14.5.4 [temp.class.spec]) - not supported. -
++ Class template partial specialization (14.5.4 [temp.class.spec]) + not supported. +
- BOOST_NO_TEMPLATED_IOSTREAMS
-
+ BOOST_NO_TEMPLATED_IOSTREAMS
+
- Standard library -
++ Standard library +
- The standard library does not provide templated iostream classes. -
++ The standard library does not provide templated iostream classes. +
- BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS
-
+ BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS
+
- Standard library -
++ Standard library +
- The standard library does not provide templated iterator constructors - for its containers. -
++ The standard library does not provide templated iterator constructors + for its containers. +
- BOOST_NO_TEMPLATE_TEMPLATES
-
+ BOOST_NO_TEMPLATE_TEMPLATES
+
- Compiler -
++ Compiler +
- The compiler does not support template template parameters. -
++ The compiler does not support template template parameters. +
- BOOST_NO_TYPEID
-
+ BOOST_NO_TYPEID
+
- Compiler -
++ Compiler +
- The compiler does not support the typeid operator at all. -
++ The compiler does not support the typeid operator at all. +
- BOOST_NO_TYPENAME_WITH_CTOR
-
+ BOOST_NO_TYPENAME_WITH_CTOR
+
- Compiler -
++ Compiler +
- The typename keyword cannot be used when creating a temporary of - a Dependent type. -
++ The typename keyword cannot be used when creating a temporary of + a Dependent type. +
- BOOST_NO_UNREACHABLE_RETURN_DETECTION
-
+ BOOST_NO_UNREACHABLE_RETURN_DETECTION
+
- Compiler -
++ 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. -
++ 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
-
+ BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE
+
- Compiler -
++ 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. -
++ 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
-
+ BOOST_NO_USING_TEMPLATE
+
- Compiler -
++ 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). -
++ 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
-
+ BOOST_NO_VOID_RETURNS
+
- Compiler -
++ Compiler +
- The compiler does not allow a void function to return the result - of calling another void function. +
+ The compiler does not allow a void function to return the result + of calling another void function.
void f() {} void g() { return f(); }
-
+-
- Macro -
++ Macro +
- Section -
++ Section +
- Description -
++ Description +
- BOOST_HAS_BETHREADS
-
+ BOOST_HAS_BETHREADS
+
- Platform -
++ Platform +
- The platform supports BeOS style threads. -
++ The platform supports BeOS style threads. +
- BOOST_HAS_CLOCK_GETTIME
-
+ BOOST_HAS_CLOCK_GETTIME
+
- Platform -
++ Platform +
- The platform has the POSIX API clock_gettime
.
-
+ The platform has the POSIX API clock_gettime
.
+
- BOOST_HAS_DIRENT_H
-
+ BOOST_HAS_DIRENT_H
+
- Platform -
++ Platform +
- The platform has the POSIX header <dirent.h>
.
-
+ The platform has the POSIX header <dirent.h>
.
+
- BOOST_HAS_EXPM1
-
+ BOOST_HAS_EXPM1
+
- Platform -
++ Platform +
- The platform has the functions expm1
,
- expm1f
and expm1l
in <math.h>
-
+ The platform has the functions expm1
,
+ expm1f
and expm1l
in <math.h>
+
- BOOST_HAS_FTIME
-
+ BOOST_HAS_FTIME
+
- Platform -
++ Platform +
- The platform has the Win32 API GetSystemTimeAsFileTime
.
-
+ The platform has the Win32 API GetSystemTimeAsFileTime
.
+
- BOOST_HAS_GETTIMEOFDAY
-
+ BOOST_HAS_GETTIMEOFDAY
+
- Platform -
++ Platform +
- The platform has the POSIX API gettimeofday
.
-
+ The platform has the POSIX API gettimeofday
.
+
- BOOST_HAS_HASH
-
+ BOOST_HAS_HASH
+
- Standard library -
++ Standard library +
- The C++ implementation provides the (SGI) hash_set and hash_map
- classes. When defined, BOOST_HASH_SET_HEADER
- and BOOST_HASH_LIST_HEADER
- will contain the names of the header needed to access hash_set
- and hash_map; BOOST_STD_EXTENSION_NAMESPACE
- will provide the namespace in which the two class templates reside.
-
+ The C++ implementation provides the (SGI) hash_set and hash_map classes.
+ When defined, BOOST_HASH_SET_HEADER
+ and BOOST_HASH_LIST_HEADER
+ will contain the names of the header needed to access hash_set and
+ hash_map; BOOST_STD_EXTENSION_NAMESPACE
+ will provide the namespace in which the two class templates reside.
+
- BOOST_HAS_LOG1P
-
+ BOOST_HAS_LOG1P
+
- Platform -
++ Platform +
- The platform has the functions log1p
,
- log1pf
and log1pl
in <math.h>
.
-
+ The platform has the functions log1p
,
+ log1pf
and log1pl
in <math.h>
.
+
- BOOST_HAS_MACRO_USE_FACET
-
+ BOOST_HAS_MACRO_USE_FACET
+
- Standard library -
++ Standard library +
- The standard library lacks a conforming std::use_facet
,
- but has a macro _USE(loc, Type)
that does the job. This is primarily
- for the Dinkumware std lib.
-
+ The standard library lacks a conforming std::use_facet
,
+ but has a macro _USE(loc, Type)
that does the job. This is primarily
+ for the Dinkumware std lib.
+
- BOOST_HAS_MS_INT64
-
+ BOOST_HAS_MS_INT64
+
- Compiler -
++ Compiler +
- The compiler supports the __int64
- data type.
-
+ The compiler supports the __int64
+ data type.
+
- BOOST_HAS_NANOSLEEP
-
+ BOOST_HAS_NANOSLEEP
+
- Platform -
++ Platform +
- The platform has the POSIX API nanosleep. -
++ The platform has the POSIX API nanosleep. +
- BOOST_HAS_NL_TYPES_H
-
+ BOOST_HAS_NL_TYPES_H
+
- Platform -
++ Platform +
- The platform has an <nl_types.h>
.
-
+ The platform has an <nl_types.h>
.
+
- BOOST_HAS_NRVO
-
+ BOOST_HAS_NRVO
+
- Compiler -
++ Compiler +
- Indicated that the compiler supports the named return value optimization
- (NRVO). Used to select the most efficient implementation for some
- function. See <boost/operators.hpp>
for example.
-
+ Indicated that the compiler supports the named return value optimization
+ (NRVO). Used to select the most efficient implementation for some
+ function. See <boost/operators.hpp>
for example.
+
- BOOST_HAS_PARTIAL_STD_ALLOCATOR
-
+ BOOST_HAS_PARTIAL_STD_ALLOCATOR
+
- Standard Library -
++ Standard Library +
- The standard library has a partially conforming std::allocator
- class, but without any of the member templates.
-
+ The standard library has a partially conforming std::allocator
+ class, but without any of the member templates.
+
- BOOST_HAS_PTHREAD_DELAY_NP
-
+ BOOST_HAS_PTHREAD_DELAY_NP
+
- Platform -
++ Platform +
- The platform has the POSIX API pthread_delay_np
.
-
+ The platform has the POSIX API pthread_delay_np
.
+
- BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE
-
+ BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE
+
- Platform -
++ Platform +
- The platform has the POSIX API pthread_mutexattr_settype
.
-
+ The platform has the POSIX API pthread_mutexattr_settype
.
+
- BOOST_HAS_PTHREAD_YIELD
-
+ BOOST_HAS_PTHREAD_YIELD
+
- Platform -
++ Platform +
- The platform has the POSIX API pthread_yield
.
-
+ The platform has the POSIX API pthread_yield
.
+
- BOOST_HAS_PTHREADS
-
+ BOOST_HAS_PTHREADS
+
- Platform -
++ Platform +
- The platform support POSIX style threads. -
++ The platform support POSIX style threads. +
- BOOST_HAS_SCHED_YIELD
-
+ BOOST_HAS_SCHED_YIELD
+
- Platform -
++ Platform +
- The platform has the POSIX API sched_yield
.
-
+ The platform has the POSIX API sched_yield
.
+
- BOOST_HAS_SGI_TYPE_TRAITS
-
+ BOOST_HAS_SGI_TYPE_TRAITS
+
- Compiler, Standard library -
++ Compiler, Standard library +
- The compiler has native support for SGI style type traits. -
++ The compiler has native support for SGI style type traits. +
- BOOST_HAS_STDINT_H
-
+ BOOST_HAS_STDINT_H
+
- Platform -
++ Platform +
- The platform has a <stdint.h>
-
+ The platform has a <stdint.h>
+
- BOOST_HAS_SLIST
-
+ BOOST_HAS_SLIST
+
- Standard library -
++ Standard library +
- The C++ implementation provides the (SGI) slist class. When defined,
- BOOST_SLIST_HEADER
- will contain the name of the header needed to access slist
and BOOST_STD_EXTENSION_NAMESPACE
- will provide the namespace in which slist
- resides.
-
+ The C++ implementation provides the (SGI) slist class. When defined,
+ BOOST_SLIST_HEADER
+ will contain the name of the header needed to access slist
and BOOST_STD_EXTENSION_NAMESPACE
+ will provide the namespace in which slist
+ resides.
+
- BOOST_HAS_STLP_USE_FACET
-
+ BOOST_HAS_STLP_USE_FACET
+
- Standard library -
++ Standard library +
- The standard library lacks a conforming std::use_facet
,
- but has a workaround class-version that does the job. This is primarily
- for the STLport std lib.
-
+ The standard library lacks a conforming std::use_facet
,
+ but has a workaround class-version that does the job. This is primarily
+ for the STLport std lib.
+
- BOOST_HAS_TR1_ARRAY
-
+ BOOST_HAS_TR1_ARRAY
+
- Standard library -
++ Standard library +
- The library has a TR1 conforming version of <array>
.
-
+ The library has a TR1 conforming version of <array>
.
+
- BOOST_HAS_TR1_COMPLEX_OVERLOADS
-
+ BOOST_HAS_TR1_COMPLEX_OVERLOADS
+
- Standard library -
++ Standard library +
- The library has a version of <complex>
- that supports passing scalars to the complex number algorithms.
-
+ The library has a version of <complex>
+ that supports passing scalars to the complex number algorithms.
+
- BOOST_HAS_TR1_COMPLEX_INVERSE_TRIG
-
+ BOOST_HAS_TR1_COMPLEX_INVERSE_TRIG
+
- Standard library -
++ Standard library +
- The library has a version of <complex>
- that includes the new inverse trig functions from TR1.
-
+ The library has a version of <complex>
+ that includes the new inverse trig functions from TR1.
+
- BOOST_HAS_TR1_REFERENCE_WRAPPER
-
+ BOOST_HAS_TR1_REFERENCE_WRAPPER
+
- Standard library -
++ Standard library +
- The library has TR1 conforming reference wrappers in <functional>
.
-
+ The library has TR1 conforming reference wrappers in <functional>
.
+
- BOOST_HAS_TR1_RESULT_OF
-
+ BOOST_HAS_TR1_RESULT_OF
+
- Standard library -
++ Standard library +
- The library has a TR1 conforming result_of template in <functional>
.
-
+ The library has a TR1 conforming result_of template in <functional>
.
+
- BOOST_HAS_TR1_MEM_FN
-
+ BOOST_HAS_TR1_MEM_FN
+
- Standard library -
++ Standard library +
- The library has a TR1 conforming mem_fn function template in <functional>
.
-
+ The library has a TR1 conforming mem_fn function template in <functional>
.
+
- BOOST_HAS_TR1_BIND
-
+ BOOST_HAS_TR1_BIND
+
- Standard library -
++ Standard library +
- The library has a TR1 conforming bind function template in <functional>
.
-
+ The library has a TR1 conforming bind function template in <functional>
.
+
- BOOST_HAS_TR1_FUNCTION
-
+ BOOST_HAS_TR1_FUNCTION
+
- Standard library -
++ Standard library +
- The library has a TR1 conforming function class template in <functional>
.
-
+ The library has a TR1 conforming function class template in <functional>
.
+
- BOOST_HAS_TR1_HASH
-
+ BOOST_HAS_TR1_HASH
+
- Standard library -
++ Standard library +
- The library has a TR1 conforming hash function template in <functional>
.
-
+ The library has a TR1 conforming hash function template in <functional>
.
+
- BOOST_HAS_TR1_SHARED_PTR
-
+ BOOST_HAS_TR1_SHARED_PTR
+
- Standard library -
++ Standard library +
- The library has a TR1 conforming shared_ptr
- class template in <memory>
.
-
+ The library has a TR1 conforming shared_ptr
+ class template in <memory>
.
+
- BOOST_HAS_TR1_RANDOM
-
+ BOOST_HAS_TR1_RANDOM
+
- Standard library -
++ Standard library +
- The library has a TR1 conforming version of <random>
.
-
+ The library has a TR1 conforming version of <random>
.
+
- BOOST_HAS_TR1_REGEX
-
+ BOOST_HAS_TR1_REGEX
+
- Standard library -
++ Standard library +
- The library has a TR1 conforming version of <regex>
.
-
+ The library has a TR1 conforming version of <regex>
.
+
- BOOST_HAS_TR1_TUPLE
-
+ BOOST_HAS_TR1_TUPLE
+
- Standard library -
++ Standard library +
- The library has a TR1 conforming version of <tuple>
.
-
+ The library has a TR1 conforming version of <tuple>
.
+
- BOOST_HAS_TR1_TYPE_TRAITS
-
+ BOOST_HAS_TR1_TYPE_TRAITS
+
- Standard library -
++ Standard library +
- The library has a TR1 conforming version of <type_traits>
.
-
+ The library has a TR1 conforming version of <type_traits>
.
+
- BOOST_HAS_TR1_UTILITY
-
+ BOOST_HAS_TR1_UTILITY
+
- Standard library -
++ Standard library +
- The library has the TR1 additions to <utility>
- (tuple interface to std::pair
).
-
+ The library has the TR1 additions to <utility>
+ (tuple interface to std::pair
).
+
- BOOST_HAS_TR1_UNORDERED_MAP
-
+ BOOST_HAS_TR1_UNORDERED_MAP
+
- Standard library -
++ Standard library +
- The library has a TR1 conforming version of <unordered_map>
.
-
+ The library has a TR1 conforming version of <unordered_map>
.
+
- BOOST_HAS_TR1_UNORDERED_SET
-
+ BOOST_HAS_TR1_UNORDERED_SET
+
- Standard library -
++ Standard library +
- The library has a TR1 conforming version of <unordered_set>
.
-
+ The library has a TR1 conforming version of <unordered_set>
.
+
- BOOST_HAS_TR1
-
+ BOOST_HAS_TR1
+
- Standard library -
++ Standard library +
- Implies all the other BOOST_HAS_TR1_*
macros should be set.
-
+ Implies all the other BOOST_HAS_TR1_*
macros should be set.
+
- BOOST_HAS_THREADS
-
+ BOOST_HAS_THREADS
+
- Platform, Compiler -
++ Platform, Compiler +
- Defined if the compiler, in its current translation mode, supports - multiple threads of execution. -
++ Defined if the compiler, in its current translation mode, supports + multiple threads of execution. +
- BOOST_HAS_TWO_ARG_USE_FACET
-
+ BOOST_HAS_TWO_ARG_USE_FACET
+
- Standard library -
++ Standard library +
- The standard library lacks a conforming std::use_facet, but has - a two argument version that does the job. This is primarily for - the Rogue Wave std lib. -
++ The standard library lacks a conforming std::use_facet, but has a + two argument version that does the job. This is primarily for the + Rogue Wave std lib. +
- BOOST_HAS_UNISTD_H
-
+ BOOST_HAS_UNISTD_H
+
- Platform -
++ Platform +
- The Platform provides <unistd.h>
.
-
+ The Platform provides <unistd.h>
.
+
- BOOST_HAS_WINTHREADS
-
+ BOOST_HAS_WINTHREADS
+
- Platform -
++ Platform +
- The platform supports MS Windows style threads. -
++ The platform supports MS Windows style threads. +
- BOOST_MSVC_STD_ITERATOR
-
+ BOOST_MSVC_STD_ITERATOR
+
- Standard library -
++ Standard library +
- Microsoft's broken version of std::iterator
- is being used. This implies that std::iterator
- takes no more than two template parameters.
-
+ Microsoft's broken version of std::iterator
+ is being used. This implies that std::iterator
+ takes no more than two template parameters.
+
- BOOST_MSVC6_MEMBER_TEMPLATES
-
+ BOOST_MSVC6_MEMBER_TEMPLATES
+
- Compiler -
++ Compiler +
- Microsoft Visual C++ 6.0 has enough member template idiosyncrasies
- (being polite) that BOOST_NO_MEMBER_TEMPLATES
- is defined for this compiler. BOOST_MSVC6_MEMBER_TEMPLATES
- is defined to allow compiler specific workarounds. This macro gets
- defined automatically if BOOST_NO_MEMBER_TEMPLATES
- is not defined - in other words this is treated as a strict subset
- of the features required by the standard.
-
+ Microsoft Visual C++ 6.0 has enough member template idiosyncrasies
+ (being polite) that BOOST_NO_MEMBER_TEMPLATES
+ is defined for this compiler. BOOST_MSVC6_MEMBER_TEMPLATES
+ is defined to allow compiler specific workarounds. This macro gets
+ defined automatically if BOOST_NO_MEMBER_TEMPLATES
+ is not defined - in other words this is treated as a strict subset
+ of the features required by the standard.
+
- BOOST_HAS_STDINT_H
-
+ BOOST_HAS_STDINT_H
+
- Platform -
++ Platform +
- There are no 1998 C++ Standard headers <stdint.h>
- or <cstdint>
, although the 1999 C Standard
- does include <stdint.h>
.
- If <stdint.h>
is present, <boost/stdint.h>
- can make good use of it, so a flag is supplied (signalling presence;
- thus the default is not present, conforming to the current C++
- standard).
-
+ There are no 1998 C++ Standard headers <stdint.h>
+ or <cstdint>
, although the 1999 C Standard
+ does include <stdint.h>
. If <stdint.h>
+ is present, <boost/stdint.h>
can make good use of it, so a
+ flag is supplied (signalling presence; thus the default is not present,
+ conforming to the current C++ standard).
+
- Macro -
++ Macro +
- Description -
++ Description +
- BOOST_HAS_CONCEPTS
-
+ BOOST_HAS_CONCEPTS
+
- The compiler supports concepts. -
++ The compiler supports concepts. +
- Macro -
++ Macro +
- Description -
++ Description +
- BOOST_NO_0X_HDR_ARRAY
-
+ BOOST_NO_0X_HDR_ARRAY
+
- The standard library does not provide header <array>. -
++ The standard library does not provide header <array>. +
- BOOST_NO_0X_HDR_CHRONO
-
+ BOOST_NO_0X_HDR_CHRONO
+
- The standard library does not provide header <chrono>. -
++ The standard library does not provide header <chrono>. +
- BOOST_NO_0X_HDR_CODECVT
-
+ BOOST_NO_0X_HDR_CODECVT
+
- The standard library does not provide header <codecvt>. -
++ The standard library does not provide header <codecvt>. +
- BOOST_NO_0X_HDR_CONCEPTS
-
+ BOOST_NO_0X_HDR_CONCEPTS
+
- The standard library does not provide header <concepts>. -
++ The standard library does not provide header <concepts>. +
- BOOST_NO_0X_HDR_CONDITION_VARIABLE
-
+ BOOST_NO_0X_HDR_CONDITION_VARIABLE
+
- The standard library does not provide header <condition_variable>. -
++ The standard library does not provide header <condition_variable>. +
- BOOST_NO_0X_HDR_CONTAINER_CONCEPTS
-
+ BOOST_NO_0X_HDR_CONTAINER_CONCEPTS
+
- The standard library does not provide header <container_concepts>. -
++ The standard library does not provide header <container_concepts>. +
- BOOST_NO_0X_HDR_FORWARD_LIST
-
+ BOOST_NO_0X_HDR_FORWARD_LIST
+
- The standard library does not provide header <forward_list>. -
++ The standard library does not provide header <forward_list>. +
- BOOST_NO_0X_HDR_FUTURE
-
+ BOOST_NO_0X_HDR_FUTURE
+
- The standard library does not provide header <future>. -
++ The standard library does not provide header <future>. +
- BOOST_NO_0X_HDR_INITIALIZER_LIST
-
+ BOOST_NO_0X_HDR_INITIALIZER_LIST
+
- The standard library does not provide header <initializer_list>. -
++ The standard library does not provide header <initializer_list>. +
- BOOST_NO_0X_HDR_ITERATOR_CONCEPTS
-
+ BOOST_NO_0X_HDR_ITERATOR_CONCEPTS
+
- The standard library does not provide header <iterator_concepts>. -
++ The standard library does not provide header <iterator_concepts>. +
- BOOST_NO_0X_HDR_MEMORY_CONCEPTS
-
+ BOOST_NO_0X_HDR_MEMORY_CONCEPTS
+
- The standard library does not provide header <memory_concepts>. -
++ The standard library does not provide header <memory_concepts>. +
- BOOST_NO_0X_HDR_MUTEX
-
+ BOOST_NO_0X_HDR_MUTEX
+
- The standard library does not provide header <mutex>. -
++ The standard library does not provide header <mutex>. +
- BOOST_NO_0X_HDR_RANDOM
-
+ BOOST_NO_0X_HDR_RANDOM
+
- The standard library does not provide header <random>. -
++ The standard library does not provide header <random>. +
- BOOST_NO_0X_HDR_RATIO
-
+ BOOST_NO_0X_HDR_RATIO
+
- The standard library does not provide header <ratio>. -
++ The standard library does not provide header <ratio>. +
- BOOST_NO_0X_HDR_REGEX
-
+ BOOST_NO_0X_HDR_REGEX
+
- The standard library does not provide header <regex>. -
++ The standard library does not provide header <regex>. +
- BOOST_NO_0X_HDR_SYSTEM_ERROR
-
+ BOOST_NO_0X_HDR_SYSTEM_ERROR
+
- The standard library does not provide header <system_error>. -
++ The standard library does not provide header <system_error>. +
- BOOST_NO_0X_HDR_THREAD
-
+ BOOST_NO_0X_HDR_THREAD
+
- The standard library does not provide header <thread>. -
++ The standard library does not provide header <thread>. +
- BOOST_NO_0X_HDR_TUPLE
-
+ BOOST_NO_0X_HDR_TUPLE
+
- The standard library does not provide header <tuple>. -
++ The standard library does not provide header <tuple>. +
- BOOST_NO_0X_HDR_TYPE_TRAITS
-
+ BOOST_NO_0X_HDR_TYPE_TRAITS
+
- The standard library does not provide header <type_traits>. -
++ The standard library does not provide header <type_traits>. +
- BOOST_NO_0X_HDR_UNORDERED_MAP
-
+ BOOST_NO_0X_HDR_UNORDERED_MAP
+
- The standard library does not provide header <unordered_map>. -
++ The standard library does not provide header <unordered_map>. +
- BOOST_NO_0X_HDR_UNORDERED_SET
-
+ BOOST_NO_0X_HDR_UNORDERED_SET
+
- The standard library does not provide header <unordered_set>. -
++ The standard library does not provide header <unordered_set>. +
- BOOST_NO_AUTO_DECLARATIONS
-
+ BOOST_NO_AUTO_DECLARATIONS
+
- The compiler does not support type deduction for variables declared
- with the auto
keyword
- (auto var
- = ...;
).
-
+ The compiler does not support type deduction for variables declared
+ with the auto
keyword
+ (auto var
+ = ...;
).
+
- BOOST_NO_AUTO_MULTIDECLARATIONS
-
+ BOOST_NO_AUTO_MULTIDECLARATIONS
+
- The compiler does not support type deduction for multiple variables
- declared with the auto
- keyword (auto var
- = ...,
- *ptr
- = ...;
).
-
+ The compiler does not support type deduction for multiple variables
+ declared with the auto
+ keyword (auto var
+ = ...,
+ *ptr
+ = ...;
).
+
- BOOST_NO_CHAR16_T
-
+ BOOST_NO_CHAR16_T
+
- The compiler does not support type char16_t
.
-
+ The compiler does not support type char16_t
.
+
- BOOST_NO_CHAR32_T
-
+ BOOST_NO_CHAR32_T
+
- The compiler does not support type char32_t
.
-
+ The compiler does not support type char32_t
.
+
- BOOST_NO_CONCEPTS
-
+ BOOST_NO_CONCEPTS
+
- The compiler does not support Concepts. -
++ The compiler does not support Concepts. +
- BOOST_NO_TEMPLATE_ALIASES
-
+ BOOST_NO_TEMPLATE_ALIASES
+
- The compiler does not support template aliases. -
++ The compiler does not support template aliases. +
- BOOST_NO_CONSTEXPR
-
+ BOOST_NO_CONSTEXPR
+
- The compiler does not support constexpr
.
-
+ The compiler does not support constexpr
.
+
- BOOST_NO_DECLTYPE
-
+ BOOST_NO_DECLTYPE
+
- The compiler does not support decltype
.
-
+ The compiler does not support decltype
.
+
- BOOST_NO_DEFAULTED_FUNCTIONS
-
+ BOOST_NO_DEFAULTED_FUNCTIONS
+
- The compiler does not support defaulted (=
- default
) functions.
-
+ The compiler does not support defaulted (=
+ default
) functions.
+
- BOOST_NO_DELETED_FUNCTIONS
-
+ BOOST_NO_DELETED_FUNCTIONS
+
- The compiler does not support deleted (=
- delete
) functions.
-
+ The compiler does not support deleted (=
+ delete
) functions.
+
- BOOST_NO_EXPLICIT_CONVERSION_OPERATORS
-
+ BOOST_NO_EXPLICIT_CONVERSION_OPERATORS
+
- The compiler does not support explicit conversion operators (explicit operator
- T()
).
-
+ The compiler does not support explicit conversion operators (explicit operator
+ T()
).
+
- BOOST_NO_EXTERN_TEMPLATE
-
+ BOOST_NO_EXTERN_TEMPLATE
+
- The compiler does not support explicit instantiation declarations
- for templates (explicit
- template
).
-
+ The compiler does not support explicit instantiation forward declarations
+ for templates (extern template ...
).
+
- BOOST_NO_FUNCTION_TEMPLATE_DEFAULT_ARGS
-
+ BOOST_NO_FUNCTION_TEMPLATE_DEFAULT_ARGS
+
- The compiler does not support default template arguments for function - templates. -
++ The compiler does not support default template arguments for function + templates. +
- BOOST_NO_INITIALIZER_LISTS
-
+ BOOST_NO_INITIALIZER_LISTS
+
- The C++ compiler does not support C++0x initializer lists. -
++ The C++ compiler does not support C++0x initializer lists. +
- BOOST_NO_LAMBDAS
-
+ BOOST_NO_LAMBDAS
+
- The compiler does not support Lambdas. -
++ The compiler does not support Lambdas. +
- BOOST_NO_LONG_LONG
-
+ BOOST_NO_LONG_LONG
+
- The compiler does not support long
- long
.
-
+ The compiler does not support long
+ long
.
+
- BOOST_NO_NULLPTR
-
+ BOOST_NO_NULLPTR
+
- The compiler does not support 'nullptr'. -
++ The compiler does not support 'nullptr'. +
- BOOST_NO_RAW_LITERALS
-
+ BOOST_NO_RAW_LITERALS
+
- The compiler does not support raw string literals. -
++ The compiler does not support raw string literals. +
- BOOST_NO_RVALUE_REFERENCES
-
+ BOOST_NO_RVALUE_REFERENCES
+
- The compiler does not support r-value references. -
++ The compiler does not support r-value references. +
- BOOST_NO_SCOPED_ENUMS
-
+ BOOST_NO_SCOPED_ENUMS
+
- The compiler does not support scoped enumerations (enum class
).
-
+ The compiler does not support scoped enumerations (enum class
).
+
- BOOST_NO_STATIC_ASSERT
-
+ BOOST_NO_STATIC_ASSERT
+
- The compiler does not support static_assert
.
-
+ The compiler does not support static_assert
.
+
- BOOST_NO_STD_UNORDERD
-
+ BOOST_NO_STD_UNORDERD
+
- The standard library does not support <unordered_map> and - <unordered_set>. -
++ The standard library does not support <unordered_map> and <unordered_set>. +
- BOOST_NO_TEMPLATE_ALIASES
-
+ BOOST_NO_TEMPLATE_ALIASES
+
- The compiler does not support template aliases. -
++ The compiler does not support template aliases. +
- BOOST_NO_UNICODE_LITERALS
-
+ BOOST_NO_UNICODE_LITERALS
+
- The compiler does not support Unicode (u8
,
- u
, U
) literals.
-
+ The compiler does not support Unicode (u8
,
+ u
, U
) literals.
+
- BOOST_NO_VARIADIC_TEMPLATES
-
+ BOOST_NO_VARIADIC_TEMPLATES
+
- The compiler does not support variadic templates. -
++ The compiler does not support variadic templates. +
-
- Macro -
++ Macro +
- Description -
++ Description +
- BOOST_WORKAROUND
-
+ BOOST_WORKAROUND
+
- This macro is used where a compiler specific workaround is required - that is not otherwise described by one of the other Boost.Config - macros. To use the macro you must first +
+ This macro is used where a compiler specific workaround is required + that is not otherwise described by one of the other Boost.Config + macros. To use the macro you must first
#include <boost/detail/workaround.hpp>
- usage is then: + usage is then:
#if BOOST_WORKAROUND(MACRONAME, CONDITION) // workaround code goes here... @@ -2876,157 +2874,157 @@ #endif
- where MACRONAME
- is a macro that usually describes the version number to be tested
- against, and CONDITION
- is a comparison operator followed by a value. For example BOOST_WORKAROUND(BOOST_INTEL,
- <= 1010)
would evaluate to 1
for Intel C++ 10.1 and earlier.
-
- The macro can also be used with BOOST_TESTED_AT
- if all current compiler versions exhibit the issue, but the issue
- is expected to be fixed at some later point.
-
- For example BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x590))
would normally evaluate to 1
for all values of __BORLANDC__
unless
- the macro BOOST_DETECT_OUTDATED_WORKAROUNDS
- is defined, in which case evaluates to (__BORLANDC__ <=
- 0x590)
.
-
- Note: the ultimate source of documentation - for this macro is in boost/detail/workaround.hpp. -
+ whereMACRONAME
is
+ a macro that usually describes the version number to be tested against,
+ and CONDITION
is
+ a comparison operator followed by a value. For example BOOST_WORKAROUND(BOOST_INTEL,
+ <= 1010)
would evaluate to 1
for Intel C++ 10.1 and earlier.
+
+
+ The macro can also be used with BOOST_TESTED_AT
+ if all current compiler versions exhibit the issue, but the issue
+ is expected to be fixed at some later point.
+
+ For example BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x590))
would normally evaluate to 1
for all values of __BORLANDC__
+ unless the macro BOOST_DETECT_OUTDATED_WORKAROUNDS
+ is defined, in which case evaluates to (__BORLANDC__ <=
+ 0x590)
.
+
+ Note: the ultimate source of documentation + for this macro is in boost/detail/workaround.hpp. +
- BOOST_DEDUCED_TYPENAME
-
+ BOOST_DEDUCED_TYPENAME
+
- Some compilers don't support the use of typename for dependent
- types in deduced contexts. This macro expands to nothing on those
- compilers, and typename elsewhere. For example, replace: template <class T> void
- f(T,
- typename T::type);
with: template
- <class
- T>
- void f(T, BOOST_DEDUCED_TYPENAME
- T::type);
-
+ Some compilers don't support the use of typename for dependent types
+ in deduced contexts. This macro expands to nothing on those compilers,
+ and typename elsewhere. For example, replace: template
+ <class
+ T>
+ void f(T, typename
+ T::type);
+ with: template <class T> void
+ f(T, BOOST_DEDUCED_TYPENAME T::type);
+
- BOOST_HASH_MAP_HEADER
-
+ BOOST_HASH_MAP_HEADER
+
- The header to include to get the SGI hash_map
- class. This macro is only available if BOOST_HAS_HASH
- is defined.
-
+ The header to include to get the SGI hash_map
+ class. This macro is only available if BOOST_HAS_HASH
+ is defined.
+
- BOOST_HASH_SET_HEADER
-
+ BOOST_HASH_SET_HEADER
+
- The header to include to get the SGI hash_set
- class. This macro is only available if BOOST_HAS_HASH
- is defined.
-
+ The header to include to get the SGI hash_set
+ class. This macro is only available if BOOST_HAS_HASH
+ is defined.
+
- BOOST_SLIST_HEADER
-
+ BOOST_SLIST_HEADER
+
- The header to include to get the SGI slist
- class. This macro is only available if BOOST_HAS_SLIST
- is defined.
-
+ The header to include to get the SGI slist
+ class. This macro is only available if BOOST_HAS_SLIST
+ is defined.
+
- BOOST_STD_EXTENSION_NAMESPACE
-
+ BOOST_STD_EXTENSION_NAMESPACE
+
- The namespace used for std library extensions (hashtable classes - etc). -
++ The namespace used for std library extensions (hashtable classes + etc). +
- BOOST_STATIC_CONSTANT(Type, assignment)
-
+ BOOST_STATIC_CONSTANT(Type, assignment)
+
- On compilers which don't allow in-class initialization of static - integral constant members, we must use enums as a workaround if - we want the constants to be available at compile-time. This macro - gives us a convenient way to declare such constants. For example - instead of: +
+ On compilers which don't allow in-class initialization of static + integral constant members, we must use enums as a workaround if we + want the constants to be available at compile-time. This macro gives + us a convenient way to declare such constants. For example instead + of:
struct foo{ static const int value = 2; };
- use: + use:
struct foo{ BOOST_STATIC_CONSTANT(int, value = 2); };
-
+
- BOOST_UNREACHABLE_RETURN(result)
-
+ BOOST_UNREACHABLE_RETURN(result)
+
- Normally evaluates to nothing, but evaluates to return x; if the - compiler requires a return, even when it can never be reached. -
++ Normally evaluates to nothing, but evaluates to return x; if the + compiler requires a return, even when it can never be reached. +
- BOOST_EXPLICIT_TEMPLATE_TYPE(t)
BOOST_EXPLICIT_TEMPLATE_NON_TYPE(t,v)
BOOST_APPEND_EXPLICIT_TEMPLATE_TYPE(t)
BOOST_APPEND_EXPLICIT_TEMPLATE_NON_TYPE(t,v)
-
+ BOOST_EXPLICIT_TEMPLATE_TYPE(t)
BOOST_EXPLICIT_TEMPLATE_NON_TYPE(t,v)
BOOST_APPEND_EXPLICIT_TEMPLATE_TYPE(t)
BOOST_APPEND_EXPLICIT_TEMPLATE_NON_TYPE(t,v)
+
- Some compilers silently "fold" different function template - instantiations if some of the template parameters don't appear - in the function parameter list. For instance: +
+ Some compilers silently "fold" different function template + instantiations if some of the template parameters don't appear in + the function parameter list. For instance:
#include <iostream> #include <ostream> @@ -3047,10 +3045,10 @@ }
- incorrectly outputs 2 2 double double
on VC++
- 6. These macros, to be used in the function parameter list, fix
- the problem without effects on the calling syntax. For instance,
- in the case above write:
+ incorrectly outputs 2 2 double double
on VC++
+ 6. These macros, to be used in the function parameter list, fix the
+ problem without effects on the calling syntax. For instance, in the
+ case above write:
template <int n> void f(BOOST_EXPLICIT_TEMPLATE_NON_TYPE(int, n)) { ... } @@ -3059,105 +3057,105 @@ void g(BOOST_EXPLICIT_TEMPLATE_TYPE(T)) { ... }
- Beware that they can declare (for affected compilers) a dummy defaulted - parameter, so they -
-- a) should be always invoked at the end of the parameter list -
-- b) can't be used if your function - template is multiply declared. -
-
- Furthermore, in order to add any needed comma separator, an APPEND_*
- version must be used when the macro invocation appears after a
- normal parameter declaration or after the invocation of another
- macro of this same group.
-
+ a) should be always invoked at the end of the parameter list +
++ b) can't be used if your function + template is multiply declared. +
+
+ Furthermore, in order to add any needed comma separator, an APPEND_*
+ version must be used when the macro invocation appears after a normal
+ parameter declaration or after the invocation of another macro of
+ this same group.
+
- BOOST_USE_FACET(Type, loc)
-
+ BOOST_USE_FACET(Type,
+ loc)
+
- When the standard library does not have a comforming std::use_facet
there are various workarounds
- available, but they differ from library to library. This macro
- provides a consistent way to access a locale's facets. For example,
- replace: std::use_facet<Type>(loc);
- with: BOOST_USE_FACET(Type, loc);
Note do not add a std::
- prefix to the front of BOOST_USE_FACET
.
-
+ When the standard library does not have a comforming std::use_facet
there are various workarounds
+ available, but they differ from library to library. This macro provides
+ a consistent way to access a locale's facets. For example, replace:
+ std::use_facet<Type>(loc);
+ with: BOOST_USE_FACET(Type, loc);
Note do not add a std::
+ prefix to the front of BOOST_USE_FACET
.
+
- BOOST_HAS_FACET(Type, loc)
-
+ BOOST_HAS_FACET(Type,
+ loc)
+
- When the standard library does not have a comforming std::has_facet
there are various workarounds
- available, but they differ from library to library. This macro
- provides a consistent way to check a locale's facets. For example,
- replace: std::has_facet<Type>(loc);
- with: BOOST_HAS_FACET(Type, loc);
Note do not add a std::
- prefix to the front of BOOST_HAS_FACET
.
-
+ When the standard library does not have a comforming std::has_facet
there are various workarounds
+ available, but they differ from library to library. This macro provides
+ a consistent way to check a locale's facets. For example, replace:
+ std::has_facet<Type>(loc);
+ with: BOOST_HAS_FACET(Type, loc);
Note do not add a std::
+ prefix to the front of BOOST_HAS_FACET
.
+
- BOOST_NESTED_TEMPLATE
-
+ BOOST_NESTED_TEMPLATE
+
- Member templates are supported by some compilers even though they
- can't use the A::template
- member<U>
- syntax, as a workaround replace: typedef
- typename A::template
- rebind<U>
- binder;
- with: typedef typename
- A::BOOST_NESTED_TEMPLATE rebind<U> binder;
-
+ Member templates are supported by some compilers even though they
+ can't use the A::template member<U>
syntax, as a workaround replace:
+ typedef typename
+ A::template rebind<U> binder;
with: typedef
+ typename A::BOOST_NESTED_TEMPLATE
+ rebind<U>
+ binder;
+
- BOOST_STRINGIZE(X)
-
+ BOOST_STRINGIZE(X)
+
- Converts the parameter X
- to a string after macro replacement on X
- has been performed.
-
+ Converts the parameter X
+ to a string after macro replacement on X
+ has been performed.
+
- BOOST_JOIN(X,Y)
-
+ BOOST_JOIN(X,Y)
+
- This piece of macro magic joins the two arguments together, even - when one of the arguments is itself a macro (see 16.3.1 in C++ - standard). This is normally used to create a mangled name in combination - with a predefined macro such a __LINE__. -
++ This piece of macro magic joins the two arguments together, even + when one of the arguments is itself a macro (see 16.3.1 in C++ standard). + This is normally used to create a mangled name in combination with + a predefined macro such a __LINE__. +
-
- Macro -
++ Macro +
- Header -
++ Header +
- Description -
++ Description +
- BOOST_VERSION
-
+ BOOST_VERSION
+
- <boost/version.hpp>
-
+ <boost/version.hpp>
+
- Describes the boost version number in XYYYZZ format such that:
- (BOOST_VERSION
- % 100)
is the sub-minor version, ((BOOST_VERSION
- / 100) % 1000)
- is the minor version, and (BOOST_VERSION /
- 100000)
- is the major version.
-
+ Describes the boost version number in XYYYZZ format such that: (BOOST_VERSION
+ % 100)
is the sub-minor version, ((BOOST_VERSION
+ / 100) % 1000)
+ is the minor version, and (BOOST_VERSION /
+ 100000)
+ is the major version.
+
- BOOST_NO_INT64_T
-
+ BOOST_NO_INT64_T
+
- <boost/cstdint.hpp>
<boost/stdint.h>
-
+ <boost/cstdint.hpp>
<boost/stdint.h>
+
- Defined if there are no 64-bit integral types: int64_t
,
- uint64_t
etc.
-
+ Defined if there are no 64-bit integral types: int64_t
,
+ uint64_t
etc.
+
- BOOST_NO_INTEGRAL_INT64_T
-
+ BOOST_NO_INTEGRAL_INT64_T
+
- <boost/cstdint.hpp>
<boost/stdint.h>
-
+ <boost/cstdint.hpp>
<boost/stdint.h>
+
- Defined if int64_t
- as defined by <boost/cstdint.hpp>
- is not usable in integral constant expressions.
-
+ Defined if int64_t
+ as defined by <boost/cstdint.hpp>
is not usable in integral constant
+ expressions.
+
- BOOST_MSVC
-
+ BOOST_MSVC
+
- <boost/config.hpp>
-
+ <boost/config.hpp>
+
- Defined if the compiler is really Microsoft Visual C++, as opposed
- to one of the many other compilers that also define _MSC_VER
. Has the same value
- as _MSC_VER.
-
+ Defined if the compiler is really Microsoft Visual C++, as opposed
+ to one of the many other compilers that also define _MSC_VER
. Has the same value as
+ _MSC_VER.
+
- BOOST_MSVC_FULL_VER
-
+ BOOST_MSVC_FULL_VER
+
- <boost/config.hpp>
-
+ <boost/config.hpp>
+
- Defined to a normalised 9 digit version of _MSC_FULL_VER (which - sometimes only has 8 digits), the macro has the form VVMMPPPPP - where VV is the major version number, MM is the minor version number, - and PPPPP is the compiler build number. -
++ Defined to a normalised 9 digit version of _MSC_FULL_VER (which sometimes + only has 8 digits), the macro has the form VVMMPPPPP where VV is + the major version number, MM is the minor version number, and PPPPP + is the compiler build number. +
- BOOST_INTEL
-
+ BOOST_INTEL
+
- <boost/config.hpp>
-
+ <boost/config.hpp>
+
- Defined if the compiler is an Intel compiler, takes the same value - as the compiler version macro. -
++ Defined if the compiler is an Intel compiler, takes the same value + as the compiler version macro. +
- BOOST_CLANG
-
+ BOOST_CLANG
+
- <boost/config.hpp>
-
+ <boost/config.hpp>
+
- Defined to 1 if the compiler is the Clang compiler. -
++ Defined to 1 if the compiler is the Clang compiler. +
- BOOST_WINDOWS
-
+ BOOST_WINDOWS
+
- <boost/config.hpp>
-
+ <boost/config.hpp>
+
- Defined if the Windows platfrom API is available. -
++ Defined if the Windows platfrom API is available. +
- BOOST_DINKUMWARE_STDLIB
-
+ BOOST_DINKUMWARE_STDLIB
+
- <boost/config.hpp>
-
+ <boost/config.hpp>
+
- Defined if the dinkumware standard library is in use, takes the
- same value as the Dinkumware library version macro _CPPLIB_VER
if defined, otherwise
- 1.
-
+ Defined if the dinkumware standard library is in use, takes the same
+ value as the Dinkumware library version macro _CPPLIB_VER
+ if defined, otherwise 1.
+
- BOOST_NO_WREGEX
-
+ BOOST_NO_WREGEX
+
- <boost/regex.hpp>
-
+ <boost/regex.hpp>
+
- Defined if the regex library does not support wide character regular - expressions. -
++ Defined if the regex library does not support wide character regular + expressions. +
- BOOST_COMPILER
-
+ BOOST_COMPILER
+
- <boost/config.hpp>
-
+ <boost/config.hpp>
+
- Defined as a string describing the name and version number of the - compiler in use. Mainly for debugging the configuration. -
++ Defined as a string describing the name and version number of the + compiler in use. Mainly for debugging the configuration. +
- BOOST_STDLIB
-
+ BOOST_STDLIB
+
- <boost/config.hpp>
-
+ <boost/config.hpp>
+
- Defined as a string describing the name and version number of the - standard library in use. Mainly for debugging the configuration. -
++ Defined as a string describing the name and version number of the + standard library in use. Mainly for debugging the configuration. +
- BOOST_PLATFORM
-
+ BOOST_PLATFORM
+
- <boost/config.hpp>
-
+ <boost/config.hpp>
+
- Defined as a string describing the name of the platform. Mainly - for debugging the configuration. -
++ Defined as a string describing the name of the platform. Mainly for + debugging the configuration. +
- Macro -
++ Macro +
- Description -
++ Description +
- BOOST_SYMBOL_EXPORT
-
+ BOOST_SYMBOL_EXPORT
+
- Defines the syntax of a C++ language extension that indicates - a symbol is to be exported from a shared library. If the compiler - has no such extension, the macro is defined with no replacement - text. -
++ Defines the syntax of a C++ language extension that indicates a + symbol is to be exported from a shared library. If the compiler + has no such extension, the macro is defined with no replacement + text. +
- BOOST_SYMBOL_IMPORT
-
+ BOOST_SYMBOL_IMPORT
+
- Defines the syntax of a C++ language extension that indicates - a symbol is to be imported from a shared library. If the compiler - has no such extension, the macro is defined with no replacement - text. -
++ Defines the syntax of a C++ language extension that indicates a + symbol is to be imported from a shared library. If the compiler + has no such extension, the macro is defined with no replacement + text. +
- BOOST_SYMBOL_VISIBLE
-
+ BOOST_SYMBOL_VISIBLE
+
- Defines the syntax of a C++ language extension that indicates - a symbol is to be globally visible. If the compiler has no such - extension, the macro is defined with no replacement text. Needed - for classes that are not otherwise exported, but are used by - RTTI. Examples include class for objects that will be thrown - as exceptions or used in dynamic_casts, across shared library - boundaries. For example, a header-only exception class might - look like this: +
+ Defines the syntax of a C++ language extension that indicates a + symbol is to be globally visible. If the compiler has no such extension, + the macro is defined with no replacement text. Needed for classes + that are not otherwise exported, but are used by RTTI. Examples + include class for objects that will be thrown as exceptions or + used in dynamic_casts, across shared library boundaries. For example, + a header-only exception class might look like this:
class BOOST_SYMBOL_VISIBLE my_exception : public std::runtime_error { ... };
- Without BOOST_SYMBOL_VISIBLE, it would be impossible to catch - my_exception thrown from a shared library compiled by GCC with - the -fvisibility=hidden option. -
+ Without BOOST_SYMBOL_VISIBLE, it would be impossible to catch my_exception + thrown from a shared library compiled by GCC with the -fvisibility=hidden + option. +
- BOOST_HAS_DECLSPEC
-
+ BOOST_HAS_DECLSPEC
+
- The compiler has C++ extensions __declspec(dllexport)
and __declspec(dllimport)
to control export/import of
- symbols from shared libraries. Deprecated. This macro
- is no longer necessary since BOOST_SYMBOL_EXPORT and BOOST_SYMBOL_IMPORT
- are now supplied. It is provided to support legacy code.
-
+ The compiler has C++ extensions __declspec(dllexport)
and __declspec(dllimport)
to control export/import of symbols
+ from shared libraries. Deprecated. This macro is no longer
+ necessary since BOOST_SYMBOL_EXPORT and BOOST_SYMBOL_IMPORT are
+ now supplied. It is provided to support legacy code.
+
BOOST_LIB_NAME
- Required: An identifier containing the basename of the library, for - example 'boost_regex'. -
BOOST_DYN_LINK
- Optional: when set link to dll rather than static library. -
BOOST_LIB_DIAGNOSTIC
- Optional: when set the header will print out the name of the library - selected (useful for debugging). -
diff --git a/doc/html/boost_config/guidelines_for_boost_authors.html b/doc/html/boost_config/guidelines_for_boost_authors.html index 98d1302b..d3acebf8 100644 --- a/doc/html/boost_config/guidelines_for_boost_authors.html +++ b/doc/html/boost_config/guidelines_for_boost_authors.html @@ -3,7 +3,7 @@
Note that:
-#include
<boost/config.hpp>
",
and are not required in any way to support compilers that do not comply with
the C++ Standard (ISO/IEC 14882).
#include
<boost/config.hpp>
"
@@ -76,12 +76,12 @@
the standard headers such as <climits>
,
etc.
<climits>
, use those standard headers rather than
<boost/config.hpp>
.
<boost/config.hpp>
should have sensible, standard conforming, default behavior if the macro
is not defined. This means that the starting point for porting <boost/config.hpp>
@@ -89,21 +89,21 @@
In the rare case where there is no sensible default behavior, an #error message
should describe the problem.
config.hpp
, post
a request on the Boost mailing list. There is no guarantee such a request
will be honored; the intent is to limit the complexity of config.hpp.
Note that:
-- Compiler -
++ Compiler +
- Warning -
++ Warning +
- Visual C++ 8 and later -
++ Visual C++ 8 and later +
- C4996: - Error 'function': was declared deprecated -
++ C4996: + Error 'function': was declared deprecated +
- Intel C++ -
++ Intel C++ +
- Warning 1786: relates to the use of "deprecated" standard - library functions rather like C4996 in Visual C++. -
++ Warning 1786: relates to the use of "deprecated" standard + library functions rather like C4996 in Visual C++. +
libs/config/tools
and run bjam
.
This generates the .cpp
file test cases from the .ipp
file, updates the libs/config/test/all/Jamfile.v2,
config_test.cpp
and config_info.cpp
.libs/config/test/all
and run bjam
MACRONAME compiler-list
,
where MACRONAME is the name of the new macro, and
@@ -251,7 +251,7 @@
If MACRONAME is defined when it should not be defined,
xxx_fail_test will not report **passed**
.libs/config/test
and run bjam
config_info config_test
compiler-list
.
@@ -264,26 +264,26 @@
Then you should:
-<unistd.h>
).
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)
@@ -92,7 +92,7 @@-
- Variable -
++ Variable +
- Description -
++ Description +
- CXX -
++ CXX +
- The name of the compiler, for example c++
.
-
+ The name of the compiler, for example c++
.
+
- CXXFLAGS -
++ CXXFLAGS +
- The compiler flags to use, for example -O2
.
-
+ The compiler flags to use, for example -O2
.
+
- LDFLAGS -
++ LDFLAGS +
- The linker flags to use, for example -L/mypath
.
-
+ The linker flags to use, for example -L/mypath
.
+
- LIBS -
++ LIBS +
- Any libraries to link in, for example -lpthread
.
-
+ Any libraries to link in, for example -lpthread
.
+
/boost/config/
).
There are two ways you can use this header:
-/boost/config/
so that it replaces the default user.hpp
provided by boost. This option allows only one configure-generated setup;
boost developers should avoid this option, as it incurs the danger of accidentally
committing a configure-modified <boost/config/user.hpp>
to the cvs repository (something you will not be thanked for!).
BOOST_USER_CONFIG
to point to it. For
example create a new sub-directory <boost-root>/boost/config/
user/
, and copy the header there; for example
@@ -318,7 +318,7 @@
-
- Macro -
++ Macro +
- Description -
++ Description +
- BOOST_USER_CONFIG
-
+ BOOST_USER_CONFIG
+
- When defined, it should point to the name of the user configuration
- file to include prior to any boost configuration files. When not
- defined, defaults to <boost/config/user.hpp>
.
-
+ When defined, it should point to the name of the user configuration
+ file to include prior to any boost configuration files. When not
+ defined, defaults to <boost/config/user.hpp>
.
+
- BOOST_COMPILER_CONFIG
-
+ BOOST_COMPILER_CONFIG
+
- When defined, it should point to the name of the compiler configuration
- file to use. Defining this cuts out the compiler selection logic,
- and eliminates the dependency on the header containing that logic.
- For example if you are using gcc, then you could define BOOST_COMPILER_CONFIG
- to <boost/config/compiler/gcc.hpp>
.
-
+ When defined, it should point to the name of the compiler configuration
+ file to use. Defining this cuts out the compiler selection logic,
+ and eliminates the dependency on the header containing that logic.
+ For example if you are using gcc, then you could define BOOST_COMPILER_CONFIG
+ to <boost/config/compiler/gcc.hpp>
.
+
- BOOST_STDLIB_CONFIG
-
+ BOOST_STDLIB_CONFIG
+
- When defined, it should point to the name of the standard library
- configuration file to use. Defining this cuts out the standard
- library selection logic, and eliminates the dependency on the header
- containing that logic. For example if you are using STLport, then
- you could define BOOST_STDLIB_CONFIG
- to <boost/config/stdlib/stlport.hpp>
.
-
+ When defined, it should point to the name of the standard library
+ configuration file to use. Defining this cuts out the standard library
+ selection logic, and eliminates the dependency on the header containing
+ that logic. For example if you are using STLport, then you could
+ define BOOST_STDLIB_CONFIG
+ to <boost/config/stdlib/stlport.hpp>
.
+
- BOOST_PLATFORM_CONFIG
-
+ BOOST_PLATFORM_CONFIG
+
- When defined, it should point to the name of the platform configuration
- file to use. Defining this cuts out the platform selection logic,
- and eliminates the dependency on the header containing that logic.
- For example if you are compiling on linux, then you could define
- BOOST_PLATFORM_CONFIG
- to <boost/config/platform/linux.hpp>
.
-
+ When defined, it should point to the name of the platform configuration
+ file to use. Defining this cuts out the platform selection logic,
+ and eliminates the dependency on the header containing that logic.
+ For example if you are compiling on linux, then you could define
+ BOOST_PLATFORM_CONFIG
+ to <boost/config/platform/linux.hpp>
.
+
- BOOST_NO_COMPILER_CONFIG
-
+ BOOST_NO_COMPILER_CONFIG
+
- When defined, no compiler configuration file is selected or included,
- define when the compiler is fully conformant with the standard,
- or where the user header (see BOOST_USER_CONFIG
),
- has had any options necessary added to it, for example by an autoconf
- generated configure script.
-
+ When defined, no compiler configuration file is selected or included,
+ define when the compiler is fully conformant with the standard, or
+ where the user header (see BOOST_USER_CONFIG
),
+ has had any options necessary added to it, for example by an autoconf
+ generated configure script.
+
- BOOST_NO_STDLIB_CONFIG
-
+ BOOST_NO_STDLIB_CONFIG
+
- When defined, no standard library configuration file is selected
- or included, define when the standard library is fully conformant
- with the standard, or where the user header (see BOOST_USER_CONFIG
), has had any
- options necessary added to it, for example by an autoconf generated
- configure script.
-
+ When defined, no standard library configuration file is selected
+ or included, define when the standard library is fully conformant
+ with the standard, or where the user header (see BOOST_USER_CONFIG
),
+ has had any options necessary added to it, for example by an autoconf
+ generated configure script.
+
- BOOST_NO_PLATFORM_CONFIG
-
+ BOOST_NO_PLATFORM_CONFIG
+
- When defined, no platform configuration file is selected or included,
- define when the platform is fully conformant with the standard
- (and has no useful extra features), or where the user header (see
- BOOST_USER_CONFIG
),
- has had any options necessary added to it, for example by an autoconf
- generated configure script.
-
+ When defined, no platform configuration file is selected or included,
+ define when the platform is fully conformant with the standard (and
+ has no useful extra features), or where the user header (see BOOST_USER_CONFIG
), has had any
+ options necessary added to it, for example by an autoconf generated
+ configure script.
+
- BOOST_NO_CONFIG
-
+ BOOST_NO_CONFIG
+
- Equivalent to defining all of BOOST_NO_COMPILER_CONFIG
,
- BOOST_NO_STDLIB_CONFIG
- and BOOST_NO_PLATFORM_CONFIG
.
-
+ Equivalent to defining all of BOOST_NO_COMPILER_CONFIG
,
+ BOOST_NO_STDLIB_CONFIG
+ and BOOST_NO_PLATFORM_CONFIG
.
+
- BOOST_STRICT_CONFIG
-
+ BOOST_STRICT_CONFIG
+
- The normal behavior for compiler versions that are newer than the - last known version, is to assume that they have all the same defects - as the last known version. By setting this define, then compiler - versions that are newer than the last known version are assumed - to be fully conforming with the standard. This is probably most - useful for boost developers or testers, and for those who want - to use boost to test beta compiler versions. -
++ The normal behavior for compiler versions that are newer than the + last known version, is to assume that they have all the same defects + as the last known version. By setting this define, then compiler + versions that are newer than the last known version are assumed to + be fully conforming with the standard. This is probably most useful + for boost developers or testers, and for those who want to use boost + to test beta compiler versions. +
- BOOST_ASSERT_CONFIG
-
+ BOOST_ASSERT_CONFIG
+
- When this flag is set, if the config finds anything unknown, then - it will stop with a #error rather than continue. Boost regression - testers should set this define, as should anyone who wants to quickly - check whether boost is supported on their platform. -
++ When this flag is set, if the config finds anything unknown, then + it will stop with a #error rather than continue. Boost regression + testers should set this define, as should anyone who wants to quickly + check whether boost is supported on their platform. +
- BOOST_DISABLE_THREADS
-
+ BOOST_DISABLE_THREADS
+
- When defined, disables threading support, even if the compiler - in its current translation mode supports multiple threads. -
++ When defined, disables threading support, even if the compiler in + its current translation mode supports multiple threads. +
- BOOST_DISABLE_WIN32
-
+ BOOST_DISABLE_WIN32
+
- When defined, disables the use of Win32 specific API's, even when
- these are available. Also has the effect of setting BOOST_DISABLE_THREADS
unless
- BOOST_HAS_PTHREADS
- is set. This option may be set automatically by the config system
- when it detects that the compiler is in "strict mode".
-
+ When defined, disables the use of Win32 specific API's, even when
+ these are available. Also has the effect of setting BOOST_DISABLE_THREADS
unless BOOST_HAS_PTHREADS
is set. This
+ option may be set automatically by the config system when it detects
+ that the compiler is in "strict mode".
+
- BOOST_DISABLE_ABI_HEADERS
-
+ BOOST_DISABLE_ABI_HEADERS
+
- Stops boost headers from including any prefix/suffix headers that - normally control things like struct packing and alignment. -
++ Stops boost headers from including any prefix/suffix headers that + normally control things like struct packing and alignment. +
- BOOST_ABI_PREFIX
-
+ BOOST_ABI_PREFIX
+
- A prefix header to include in place of whatever boost.config would - normally select, any replacement should set up struct packing and - alignment options as required. -
++ A prefix header to include in place of whatever boost.config would + normally select, any replacement should set up struct packing and + alignment options as required. +
- BOOST_ABI_SUFFIX
-
+ BOOST_ABI_SUFFIX
+
- A suffix header to include in place of whatever boost.config would - normally select, any replacement should undo the effects of the - prefix header. -
++ A suffix header to include in place of whatever boost.config would + normally select, any replacement should undo the effects of the prefix + header. +
- BOOST_ALL_DYN_LINK
-
+ BOOST_ALL_DYN_LINK
+
- Forces all libraries that have separate source, to be linked as
- dll's rather than static libraries on Microsoft Windows (this macro
- is used to turn on __declspec(dllimport)
modifiers, so that the compiler
- knows which symbols to look for in a dll rather than in a static
- library). Note that there may be some libraries that can only be
- statically linked (Boost.Test for example) and others which may
- only be dynamically linked (Boost.Threads for example), in these
- cases this macro has no effect.
-
+ Forces all libraries that have separate source, to be linked as dll's
+ rather than static libraries on Microsoft Windows (this macro is
+ used to turn on __declspec(dllimport)
modifiers, so that the compiler
+ knows which symbols to look for in a dll rather than in a static
+ library). Note that there may be some libraries that can only be
+ statically linked (Boost.Test for example) and others which may only
+ be dynamically linked (Boost.Threads for example), in these cases
+ this macro has no effect.
+
- BOOST_
WHATEVER_DYN_LINK
-
+ BOOST_
WHATEVER_DYN_LINK
+
- Forces library "whatever" to be linked as a dll rather
- than a static library on Microsoft Windows: replace the WHATEVER
- part of the macro name with the name of the library that you want
- to dynamically link to, for example use BOOST_DATE_TIME_DYN_LINK
- or BOOST_REGEX_DYN_LINK
- etc (this macro is used to turn on __declspec(dllimport)
modifiers, so that the compiler
- knows which symbols to look for in a dll rather than in a static
- library). Note that there may be some libraries that can only be
- statically linked (Boost.Test for example) and others which may
- only be dynamically linked (Boost.Threads for example), in these
- cases this macro is unsupported.
-
+ Forces library "whatever" to be linked as a dll rather
+ than a static library on Microsoft Windows: replace the WHATEVER
+ part of the macro name with the name of the library that you want
+ to dynamically link to, for example use BOOST_DATE_TIME_DYN_LINK
+ or BOOST_REGEX_DYN_LINK
+ etc (this macro is used to turn on __declspec(dllimport)
modifiers, so that the compiler
+ knows which symbols to look for in a dll rather than in a static
+ library). Note that there may be some libraries that can only be
+ statically linked (Boost.Test for example) and others which may only
+ be dynamically linked (Boost.Threads for example), in these cases
+ this macro is unsupported.
+
- BOOST_ALL_NO_LIB
-
+ BOOST_ALL_NO_LIB
+
- Tells the config system not to automatically select which libraries - to link against. Normally if a compiler supports #pragma lib, then - the correct library build variant will be automatically selected - and linked against, simply by the act of including one of that - library's headers. This macro turns that feature off. -
++ Tells the config system not to automatically select which libraries + to link against. Normally if a compiler supports #pragma lib, then + the correct library build variant will be automatically selected + and linked against, simply by the act of including one of that library's + headers. This macro turns that feature off. +
- BOOST_
WHATEVER_NO_LIB
-
+ BOOST_
WHATEVER_NO_LIB
+
- Tells the config system not to automatically select which library
- to link against for library "whatever", replace WHATEVER
- in the macro name with the name of the library; for example BOOST_DATE_TIME_NO_LIB
or BOOST_REGEX_NO_LIB
. Normally
- if a compiler supports #pragma
- lib
, then the correct
- library build variant will be automatically selected and linked
- against, simply by the act of including one of that library's headers.
- This macro turns that feature off.
-
+ Tells the config system not to automatically select which library
+ to link against for library "whatever", replace WHATEVER
+ in the macro name with the name of the library; for example BOOST_DATE_TIME_NO_LIB
or BOOST_REGEX_NO_LIB
. Normally if
+ a compiler supports #pragma
+ lib
, then the correct library
+ build variant will be automatically selected and linked against,
+ simply by the act of including one of that library's headers. This
+ macro turns that feature off.
+
- BOOST_LIB_DIAGNOSTIC
-
+ BOOST_LIB_DIAGNOSTIC
+
- Causes the auto-linking code to output diagnostic messages indicating - the name of the library that is selected for linking. -
++ Causes the auto-linking code to output diagnostic messages indicating + the name of the library that is selected for linking. +
- BOOST_LIB_TOOLSET
-
+ BOOST_LIB_TOOLSET
+
- Overrides the name of the toolset part of the name of library being - linked to; note if defined this must be defined to a quoted string - literal, for example "abc". -
++ Overrides the name of the toolset part of the name of library being + linked to; note if defined this must be defined to a quoted string + literal, for example "abc". +
The following usage examples represent just a few of the possibilities:
-- File -
++ File +
- Description -
++ Description +
- config_info.cpp
-
+ config_info.cpp
+
- Prints out a detailed description of your compiler/standard library/platform - setup, plus your current boost configuration. The information provided - by this program useful in setting up the boost configuration files. - If you report that boost is incorrectly configured for your compiler/library/platform - then please include the output from this program when reporting - the changes required. -
++ Prints out a detailed description of your compiler/standard library/platform + setup, plus your current boost configuration. The information provided + by this program useful in setting up the boost configuration files. + If you report that boost is incorrectly configured for your compiler/library/platform + then please include the output from this program when reporting the + changes required. +
- config_test.cpp
-
+ config_test.cpp
+
- A monolithic test program that includes most of the individual - test cases. This provides a quick check to see if boost is correctly - configured for your compiler/library/platform. -
++ A monolithic test program that includes most of the individual test + cases. This provides a quick check to see if boost is correctly configured + for your compiler/library/platform. +
- limits_test.cpp
-
+ limits_test.cpp
+
- Tests your standard library's std::numeric_limits
- implementation (or its boost provided replacement if BOOST_NO_LIMITS
is defined).
- This test file fails with most versions of numeric_limits, mainly
- due to the way that some compilers treat NAN's and infinity.
-
+ Tests your standard library's std::numeric_limits
+ implementation (or its boost provided replacement if BOOST_NO_LIMITS
is defined). This
+ test file fails with most versions of numeric_limits, mainly due
+ to the way that some compilers treat NAN's and infinity.
+
- no_*pass.cpp
-
+ no_*pass.cpp
+
- Individual compiler defect test files. Each of these should compile,
- if one does not then the corresponding BOOST_NO_XXX
- macro needs to be defined - see each test file for specific details.
-
+ Individual compiler defect test files. Each of these should compile,
+ if one does not then the corresponding BOOST_NO_XXX
+ macro needs to be defined - see each test file for specific details.
+
- no_*fail.cpp
-
+ no_*fail.cpp
+
- Individual compiler defect test files. Each of these should not
- compile, if one does then the corresponding BOOST_NO_XXX
- macro is defined when it need not be - see each test file for specific
- details.
-
+ Individual compiler defect test files. Each of these should not compile,
+ if one does then the corresponding BOOST_NO_XXX
+ macro is defined when it need not be - see each test file for specific
+ details.
+
- has_*pass.cpp
-
+ has_*pass.cpp
+
- Individual feature test files. If one of these does not compile
- then the corresponding BOOST_HAS_XXX
- macro is defined when it should not be - see each test file for
- specific details.
-
+ Individual feature test files. If one of these does not compile then
+ the corresponding BOOST_HAS_XXX
+ macro is defined when it should not be - see each test file for specific
+ details.
+
- has_*fail.cpp
-
+ has_*fail.cpp
+
- Individual feature test files. If one of these does compile then
- the corresponding BOOST_HAS_XXX
- macro can be safely defined - see each test file for specific details.
-
+ Individual feature test files. If one of these does compile then
+ the corresponding BOOST_HAS_XXX
+ macro can be safely defined - see each test file for specific details.
+
Last revised: May 22, 2010 at 12:50:36 GMT |
+Last revised: May 27, 2010 at 08:46:14 GMT |