diff --git a/doc/1A_on_performance.qbk b/doc/1A_on_performance.qbk index 2c41361..fc3bf8b 100644 --- a/doc/1A_on_performance.qbk +++ b/doc/1A_on_performance.qbk @@ -19,7 +19,7 @@ Lifetime of the `T` inside `_storage` is manually controlled with placement-`new T _storage; }; -We call it a ['direct] storage. This makes `optional` a trivially-copyable type for scalar `T`s. This only works for compilers that support defaulted functions (including defaulted move assignment and constructor). On compilers without defaulted functions we still use the direct storage, but `optional` is no longer recognized as trivially-copyable. Apart from scalar types, we leave the programmer a way of customizing her type, so that it is reconized by `optional` as candidate for optimized storage, by specializing type trait `boost::optional_config::optional_uses_direct_storage_for`: +We call it a ['direct] storage. This makes `optional` a trivially-copyable type for scalar `T`s. This only works for compilers that support defaulted functions (including defaulted move assignment and constructor). On compilers without defaulted functions we still use the direct storage, but `optional` is no longer recognized as trivially-copyable. Apart from scalar types, we leave the programmer a way of customizing her type, so that it is recognized by `optional` as candidate for optimized storage, by specializing type trait `boost::optional_config::optional_uses_direct_storage_for`: struct X // not trivial { diff --git a/doc/html/boost_optional/tutorial/performance_considerations.html b/doc/html/boost_optional/tutorial/performance_considerations.html index 7d1e0f8..e20cf61 100644 --- a/doc/html/boost_optional/tutorial/performance_considerations.html +++ b/doc/html/boost_optional/tutorial/performance_considerations.html @@ -60,7 +60,7 @@ defaulted move assignment and constructor). On compilers without defaulted functions we still use the direct storage, but optional<T> is no longer recognized as trivially-copyable. Apart from scalar types, we - leave the programmer a way of customizing her type, so that it is reconized + leave the programmer a way of customizing her type, so that it is recognized by optional as candidate for optimized storage, by specializing type trait boost::optional_config::optional_uses_direct_storage_for: