diff --git a/doc/changes.qbk b/doc/changes.qbk index 1069b78..b77108a 100644 --- a/doc/changes.qbk +++ b/doc/changes.qbk @@ -16,6 +16,7 @@ or C++ standard library type traits instead. * Marked `boost::ref` member functions and associated methods with `noexcept`. * Marked `boost::swap` function with `noexcept`, depending on whether the type supports a non-throwing swap operation. +* Added `boost::core::launder`, a portable implementation of `std::launder`. [endsect] diff --git a/doc/core.qbk b/doc/core.qbk index a7943f7..54b7b66 100644 --- a/doc/core.qbk +++ b/doc/core.qbk @@ -55,6 +55,7 @@ criteria for inclusion is that the utility component be: [include first_scalar.qbk] [include ignore_unused.qbk] [include is_same.qbk] +[include launder.qbk] [include lightweight_test.qbk] [include no_exceptions_support.qbk] [include noinit_adaptor.qbk] diff --git a/doc/launder.qbk b/doc/launder.qbk new file mode 100644 index 0000000..8ca52d5 --- /dev/null +++ b/doc/launder.qbk @@ -0,0 +1,39 @@ +[/ + Copyright 2023 Peter Dimov + Distributed under the Boost Software License, Version 1.0. + https://boost.org/LICENSE_1_0.txt +] + +[section:launder launder] + +[simplesect Authors] + +* Peter Dimov + +[endsimplesect] + +[section Header ] + +The header `` defines the function +`void boost::core::launder()`, a portable implementation of +`std::launder`. + +[section Synopsis] + +`` +namespace boost +{ +namespace core +{ + +template T* launder( T* p ); + +} // namespace core +} // namespace boost +`` + +[endsect] + +[endsect] + +[endsect]