diff --git a/doc/html/boost_config/acknowledgements.html b/doc/html/boost_config/acknowledgements.html index ae598f9d..e3cd5555 100644 --- a/doc/html/boost_config/acknowledgements.html +++ b/doc/html/boost_config/acknowledgements.html @@ -3,7 +3,7 @@
template<>
- class numeric_limits<char16_t>;
, see also BOOST_NO_CXX11_CHAR16_T
,
+ class numeric_limits<char16_t>;, see also BOOST_NO_CXX11_CHAR16_T
,
template<>
- class numeric_limits<char32_t>;
see also BOOST_NO_CXX11_CHAR32_T
.
+ class numeric_limits<char32_t>; see also BOOST_NO_CXX11_CHAR32_T
.
Replaces BOOST_NO_NUMERIC_LIMITS_LOWEST.
@@ -1320,7 +1320,7 @@
+ BOOST_HAS_PRAGMA_ONCE
+
+ Compiler +
+
+ The compiler recognizes the #pragma
+ once
directive which
+ tells that the containing header should be included only once while
+ preprocessing the current translation unit. The pragma may improve
+ compile times of large projects with some compilers.
+
BOOST_HAS_PTHREAD_DELAY_NP
@@ -2288,7 +2309,7 @@
-
+ BOOST_NO_CXX11_ALIGNAS
+
+ The compiler does not support the alignas
+ keyword.
+
BOOST_NO_CXX11_ALLOCATOR
@@ -2610,6 +2644,18 @@
+ BOOST_NO_CXX11_INLINE_NAMESPACES
+
+ The compiler does not support inline namespaces. +
+
BOOST_NO_CXX11_SMART_PTR
@@ -2662,7 +2708,7 @@
- The compiler does not support type char16_t
.
+ The compiler does not support type char16_t
.
- The compiler does not support type char32_t
.
+ The compiler does not support type char32_t
.
- The compiler does not support constexpr
.
+ The compiler does not support constexpr
.
- The compiler does not support decltype
.
+ The compiler does not support decltype
.
- The compiler does not support the extension to decltype
+ The compiler does not support the extension to decltype
described in N3276,
accepted in Madrid, March 2011.
- The compiler does not support noexcept
.
+ The compiler does not support noexcept
.
- The compiler does not support nullptr
.
+ The compiler does not support nullptr
.
- The compiler does not support static_assert
.
+ The compiler does not support static_assert
.
+ BOOST_NO_CXX11_TRAILING_RESULT_TYPES
+
+ The compiler does not support the new function result type specification
+ syntax (e.g. auto foo(T)
+ -> T;
).
+
BOOST_NO_CXX11_UNICODE_LITERALS
@@ -2994,7 +3054,7 @@
+ BOOST_ALIGNMENT(X)
, BOOST_NO_ALIGNMENT
+
+ Some compilers don't support the alignas
+ keyword but provide other means to specify alignment (usually,
+ through compiler-specific attributes). The macro BOOST_ALIGNMENT(X)
+ will expand to the alignas(X)
keyword if the compiler supports
+ it or to some compiler-specific attribute to achieve the specified
+ alignment. If no such compiler-specific attribute is known then
+ BOOST_ALIGNMENT(X)
will expand to nothing and BOOST_NO_ALIGNMENT
will be defined.
+ Unlike native alignas
,
+ X
must always be
+ a compile-time integer constant. The macro can be used to specify
+ alignment of types and data:
+
struct BOOST_ALIGNMENT(16) my_data +{ + char c[16]; +}; +BOOST_ALIGNMENT(8) int arr[32]; ++
+
+
BOOST_CONSTEXPR
@@ -3029,11 +3119,11 @@
- Some compilers don't support the use of constexpr
.
- This macro expands to nothing on those compilers, and constexpr
elsewhere. For example,
+ Some compilers don't support the use of constexpr
.
+ This macro expands to nothing on those compilers, and constexpr
elsewhere. For example,
when defining a constexpr function or constructor replace:
constexpr tuple(); +constexpr tuple();with: @@ -3052,12 +3142,12 @@
- Some compilers don't support the use of constexpr
.
+ Some compilers don't support the use of constexpr
.
This macro expands to const
- on those compilers, and constexpr
+ on those compilers, and constexpr
elsewhere. For example, when defining const expr variables replace:
static constexpr UIntType xor_mask = a; +static constexpr UIntType xor_mask = a;with: @@ -3080,7 +3170,7 @@ BOOST_CONSTEXPR_OR_CONST. For example, when defining const expr variables replace:
-static constexpr UIntType xor_mask = a; +static constexpr UIntType xor_mask = a;with: @@ -3092,6 +3182,89 @@
+ BOOST_DEFAULTED_FUNCTION(fun, body)
+
+ This macro is intended to be used within a class definition in
+ order to declare a default implementation of function fun
. For the compilers that do
+ not support C++11 defaulted functions the macro will expand into
+ an inline function definition with the body
+ implementation. For example:
+
struct my_struct +{ + BOOST_DEFAULTED_FUNCTION(my_struct(), {}) +}; ++
+ is equivalent to: +
+struct my_struct +{ + my_struct() = default; +}; ++
+ or: +
+struct my_struct +{ + my_struct() {} +}; ++
+
+
+ BOOST_DELETED_FUNCTION(fun)
+
+ This macro is intended to be used within a class definition in
+ order to declare a deleted function fun
.
+ For the compilers that do not support C++11 deleted functions the
+ macro will expand into a private function declaration with no definition.
+ Since the macro may change the access mode, it is recommended to
+ use this macro at the end of the class definition. For example:
+
struct noncopyable +{ + BOOST_DELETED_FUNCTION(noncopyable(noncopyable const&)) + BOOST_DELETED_FUNCTION(noncopyable& operator= (noncopyable const&)) +}; ++
+ is equivalent to: +
+struct noncopyable +{ + noncopyable(noncopyable const&) = delete; + noncopyable& operator= (noncopyable const&) = delete; +}; ++
+ or: +
+struct noncopyable +{ +private: + noncopyable(noncopyable const&); + noncopyable& operator= (noncopyable const&); +}; ++
+
+@@ -3128,10 +3301,10 @@
-
#define BOOST_NOEXCEPT noexcept -#define BOOST_NOEXCEPT_OR_NOTHROW noexcept -#define BOOST_NOEXCEPT_IF(Predicate) noexcept((Predicate)) -#define BOOST_NOEXCEPT_EXPR(Expression) noexcept((Expression)) +#define BOOST_NOEXCEPT noexcept +#define BOOST_NOEXCEPT_OR_NOTHROW noexcept +#define BOOST_NOEXCEPT_IF(Predicate) noexcept((Predicate)) +#define BOOST_NOEXCEPT_EXPR(Expression) noexcept((Expression))@@ -3160,7 +3333,7 @@
+ BOOST_NOINLINE
+
+ This macro can be used in place of the inline
+ keyword to instruct the compiler that a function should never be
+ inlined. One should typically use this macro to mark functions
+ that are unlikely to be called, such as error handling routines.
+
+ Usage example: +
+BOOST_NOINLINE void handle_error(const char* descr) +{ + // ... +} ++
+
+
+ BOOST_LIKELY(X)
+ BOOST_UNLIKELY(X)
+
+ These macros communicate to the compiler that the conditional expression
+ X
is likely or
+ unlikely to yield a positive result. The expression should result
+ in a boolean value. The result of the macro is an integer or boolean
+ value equivalent to the result of X
.
+
+ The macros are intended to be used in branching statements. The + additional hint they provide can be used by the compiler to arrange + the compiled code of the branches more effectively. +
++ Usage example: +
+if (BOOST_UNLIKELY(ptr == NULL)) + handle_error("ptr is NULL"); ++
+
+
- BOOST_HAS_CHAR_16_T
+ BOOST_HAS_CHAR16_T
- BOOST_NO_CXX11_CHAR_16_T
+ BOOST_NO_CXX11_CHAR16_T
(negated)
- BOOST_HAS_CHAR_32_T
+ BOOST_HAS_CHAR32_T
- BOOST_NO_CXX11_CHAR_32_T
+ BOOST_NO_CXX11_CHAR32_T
(negated)