From: Jonathan Wakely Date: Tue, 7 Jan 2025 15:13:56 +0000 (+0000) Subject: libstdc++: Add Doxygen docs for std::forward_like X-Git-Tag: releases/gcc-14.3.0~640 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=785ddc26e20755b3eabff27f9817a1b3aa3751a0;p=thirdparty%2Fgcc.git libstdc++: Add Doxygen docs for std::forward_like Also add "@since C++11" to std::move, std::forward etc. libstdc++-v3/ChangeLog: * include/bits/move.h (forward, move, move_if_noexcept, addressof): Add @since to Doxygen comments. (forward_like): Add Doxygen comment. (cherry picked from commit 4a4e5394b3001b1b3fb35c274d184ffba30156e8) --- diff --git a/libstdc++-v3/include/bits/move.h b/libstdc++-v3/include/bits/move.h index 8397a01b6323..82d889b44292 100644 --- a/libstdc++-v3/include/bits/move.h +++ b/libstdc++-v3/include/bits/move.h @@ -63,6 +63,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION * @return The parameter cast to the specified type. * * This function is used to implement "perfect forwarding". + * @since C++11 */ template _GLIBCXX_NODISCARD @@ -75,6 +76,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION * @return The parameter cast to the specified type. * * This function is used to implement "perfect forwarding". + * @since C++11 */ template _GLIBCXX_NODISCARD @@ -109,6 +111,13 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION template using __like_t = typename __like_impl<_Tp&&, _Up&>::type; + /** @brief Forward with the cv-qualifiers and value category of another type. + * @tparam _Tp An lvalue reference or rvalue reference. + * @tparam _Up An lvalue reference type deduced from the function argument. + * @param __x An lvalue. + * @return `__x` converted to match the qualifiers of `_Tp`. + * @since C++23 + */ template [[nodiscard]] constexpr __like_t<_Tp, _Up> @@ -120,6 +129,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION * @brief Convert a value to an rvalue. * @param __t A thing of arbitrary type. * @return The parameter cast to an rvalue-reference to allow moving it. + * @since C++11 */ template _GLIBCXX_NODISCARD @@ -140,6 +150,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION * * Same as std::move unless the type's move constructor could throw and the * type is copyable, in which case an lvalue-reference is returned instead. + * @since C++11 */ template _GLIBCXX_NODISCARD @@ -156,6 +167,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION * operator&. * @param __r Reference to an object or function. * @return The actual address. + * @since C++11 */ template _GLIBCXX_NODISCARD