{"id":2233391,"url":"http://patchwork.ozlabs.org/api/1.1/patches/2233391/?format=json","web_url":"http://patchwork.ozlabs.org/project/gcc/patch/20260506083014.323095-1-jwakely@redhat.com/","project":{"id":17,"url":"http://patchwork.ozlabs.org/api/1.1/projects/17/?format=json","name":"GNU Compiler Collection","link_name":"gcc","list_id":"gcc-patches.gcc.gnu.org","list_email":"gcc-patches@gcc.gnu.org","web_url":null,"scm_url":null,"webscm_url":null},"msgid":"<20260506083014.323095-1-jwakely@redhat.com>","date":"2026-05-06T08:30:03","name":"[committed] libstdc++: Improve docs for range access functions [PR97001]","commit_ref":null,"pull_url":null,"state":"new","archived":false,"hash":"01d01c5b184ccd713c4a04bdfd5ae28d34e02ec0","submitter":{"id":48004,"url":"http://patchwork.ozlabs.org/api/1.1/people/48004/?format=json","name":"Jonathan Wakely","email":"jwakely@redhat.com"},"delegate":null,"mbox":"http://patchwork.ozlabs.org/project/gcc/patch/20260506083014.323095-1-jwakely@redhat.com/mbox/","series":[{"id":502963,"url":"http://patchwork.ozlabs.org/api/1.1/series/502963/?format=json","web_url":"http://patchwork.ozlabs.org/project/gcc/list/?series=502963","date":"2026-05-06T08:30:03","name":"[committed] libstdc++: Improve docs for range access functions [PR97001]","version":1,"mbox":"http://patchwork.ozlabs.org/series/502963/mbox/"}],"comments":"http://patchwork.ozlabs.org/api/patches/2233391/comments/","check":"pending","checks":"http://patchwork.ozlabs.org/api/patches/2233391/checks/","tags":{},"headers":{"Return-Path":"<gcc-patches-bounces~incoming=patchwork.ozlabs.org@gcc.gnu.org>","X-Original-To":["incoming@patchwork.ozlabs.org","gcc-patches@gcc.gnu.org"],"Delivered-To":["patchwork-incoming@legolas.ozlabs.org","gcc-patches@gcc.gnu.org"],"Authentication-Results":["legolas.ozlabs.org;\n\tdkim=pass (1024-bit key;\n unprotected) header.d=redhat.com header.i=@redhat.com header.a=rsa-sha256\n header.s=mimecast20190719 header.b=F4MhdWVX;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=gcc.gnu.org\n (client-ip=38.145.34.32; helo=vm01.sourceware.org;\n envelope-from=gcc-patches-bounces~incoming=patchwork.ozlabs.org@gcc.gnu.org;\n receiver=patchwork.ozlabs.org)","sourceware.org;\n\tdkim=pass (1024-bit key,\n unprotected) header.d=redhat.com header.i=@redhat.com header.a=rsa-sha256\n header.s=mimecast20190719 header.b=F4MhdWVX","sourceware.org; dmarc=pass (p=quarantine dis=none)\n header.from=redhat.com","sourceware.org; spf=pass smtp.mailfrom=redhat.com","sourceware.org; arc=none smtp.remote-ip=170.10.129.124"],"Received":["from vm01.sourceware.org (vm01.sourceware.org [38.145.34.32])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519 server-signature ECDSA (secp384r1) server-digest SHA384)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4g9XGd4ZK6z1yJV\n\tfor <incoming@patchwork.ozlabs.org>; Wed, 06 May 2026 20:50:33 +1000 (AEST)","from vm01.sourceware.org (localhost [IPv6:::1])\n\tby sourceware.org (Postfix) with ESMTP id C17C44BA23D5\n\tfor <incoming@patchwork.ozlabs.org>; Wed,  6 May 2026 10:50:31 +0000 (GMT)","from us-smtp-delivery-124.mimecast.com\n (us-smtp-delivery-124.mimecast.com [170.10.129.124])\n by sourceware.org (Postfix) with ESMTP id EA7114BA7981\n for <gcc-patches@gcc.gnu.org>; Wed,  6 May 2026 08:30:22 +0000 (GMT)","from mx-prod-mc-05.mail-002.prod.us-west-2.aws.redhat.com\n (ec2-54-186-198-63.us-west-2.compute.amazonaws.com [54.186.198.63]) by\n relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3,\n cipher=TLS_AES_256_GCM_SHA384) id us-mta-597-X1MrnPQTNiuFnfWeHxHqkw-1; Wed,\n 06 May 2026 04:30:18 -0400","from mx-prod-int-01.mail-002.prod.us-west-2.aws.redhat.com\n (mx-prod-int-01.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.4])\n (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest\n SHA256)\n (No client certificate requested)\n by mx-prod-mc-05.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS\n id 5ABC019560A6; Wed,  6 May 2026 08:30:17 +0000 (UTC)","from zen.kayari.org (unknown [10.44.32.38])\n by mx-prod-int-01.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP\n id 0D40F3002D35; Wed,  6 May 2026 08:30:15 +0000 (UTC)"],"DKIM-Filter":["OpenDKIM Filter v2.11.0 sourceware.org C17C44BA23D5","OpenDKIM Filter v2.11.0 sourceware.org EA7114BA7981"],"DMARC-Filter":"OpenDMARC Filter v1.4.2 sourceware.org EA7114BA7981","ARC-Filter":"OpenARC Filter v1.0.0 sourceware.org EA7114BA7981","ARC-Seal":"i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1778056223; cv=none;\n b=UUOhPYNqXJzACF+y6LWJNEsGioRAL+CvPsWkBIYoM7EwmFnsmQP7ZtPsAQt318f1/vKZ5YZRPSmGDUQ6/bq4jtLUHa6lTln8DSosCRAYvPLgnuJiM+Su2YHDPe1CfwpxlvgovbTBJrLOxVsq4gQb2euDFekn8Nj1oLUECCjq8vw=","ARC-Message-Signature":"i=1; a=rsa-sha256; d=sourceware.org; s=key;\n t=1778056223; c=relaxed/simple;\n bh=jJoPx7hLLt9siW3PM3k2keV+1RKmEQsA/8rn/h5655M=;\n h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version;\n b=vXxjIZ3Cd/AiyXUgGA1Oi8+pc29IKYu2z32K6YjKIUbFq0B3AuDA+k0tROiDhmnF2a05PtNQk8mgkQjfTS3N5K1radz1sjk/6ylsLjKeJCo9PiWflZPTGo8bRkYrjbmdAcx+W20L5wbq0fowfYvgx6smpuAL3Qn79t3Dc9n1UOo=","ARC-Authentication-Results":"i=1; sourceware.org;\n dkim=pass (1024-bit key, unprotected)\n header.d=redhat.com header.i=@redhat.com header.a=rsa-sha256\n header.s=mimecast20190719 header.b=F4MhdWVX","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;\n s=mimecast20190719; t=1778056222;\n h=from:from:reply-to:subject:subject:date:date:message-id:message-id:\n to:to:cc:mime-version:mime-version:content-type:content-type:\n content-transfer-encoding:content-transfer-encoding;\n bh=JiuaArzE7HpJggP12AEr286zB2nYHy17WGq/u6JRQj0=;\n b=F4MhdWVX6GE/LeTf0ODt6Oj40hTSmVwmje51qHOS3E+Oro8eybwxKY/w1cju8s32FpynEg\n SfAUmBNh7pLmrPyo5xlUSF6evwx+3OIlU+2wTYVahMYkulaWuW3Bxr5k1kTB6x2vxeS/R1\n M04RrNAjg45e465AefylQGczhMQkvPk=","X-MC-Unique":"X1MrnPQTNiuFnfWeHxHqkw-1","X-Mimecast-MFC-AGG-ID":"X1MrnPQTNiuFnfWeHxHqkw_1778056217","From":"Jonathan Wakely <jwakely@redhat.com>","To":"libstdc++@gcc.gnu.org,\n\tgcc-patches@gcc.gnu.org","Subject":"[committed] libstdc++: Improve docs for range access functions\n [PR97001]","Date":"Wed,  6 May 2026 09:30:03 +0100","Message-ID":"<20260506083014.323095-1-jwakely@redhat.com>","MIME-Version":"1.0","X-Scanned-By":"MIMEDefang 3.4.1 on 10.30.177.4","X-Mimecast-Spam-Score":"0","X-Mimecast-MFC-PROC-ID":"aMfcpWGKnn6ly38o27if4RoiBbI0XHtujXb2DBeiIRo_1778056217","X-Mimecast-Originator":"redhat.com","Content-Type":"text/plain","Content-Transfer-Encoding":"8bit","X-BeenThere":"gcc-patches@gcc.gnu.org","X-Mailman-Version":"2.1.30","Precedence":"list","List-Id":"Gcc-patches mailing list <gcc-patches.gcc.gnu.org>","List-Unsubscribe":"<https://gcc.gnu.org/mailman/options/gcc-patches>,\n <mailto:gcc-patches-request@gcc.gnu.org?subject=unsubscribe>","List-Archive":"<https://gcc.gnu.org/pipermail/gcc-patches/>","List-Post":"<mailto:gcc-patches@gcc.gnu.org>","List-Help":"<mailto:gcc-patches-request@gcc.gnu.org?subject=help>","List-Subscribe":"<https://gcc.gnu.org/mailman/listinfo/gcc-patches>,\n <mailto:gcc-patches-request@gcc.gnu.org?subject=subscribe>","Errors-To":"gcc-patches-bounces~incoming=patchwork.ozlabs.org@gcc.gnu.org"},"content":"libstdc++-v3/ChangeLog:\n\n\tPR libstdc++/97001\n\t* include/bits/range_access.h: Improve Doxygen comments.\n---\n\nTested x86_64-linux. Pushed to trunk.\n\n libstdc++-v3/include/bits/range_access.h | 38 ++++++++++++++++++++++++\n 1 file changed, 38 insertions(+)","diff":"diff --git a/libstdc++-v3/include/bits/range_access.h b/libstdc++-v3/include/bits/range_access.h\nindex ddf74f3296fd..5a748257f197 100644\n--- a/libstdc++-v3/include/bits/range_access.h\n+++ b/libstdc++-v3/include/bits/range_access.h\n@@ -47,6 +47,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION\n    *  @brief  Return an iterator pointing to the first element of\n    *          the container.\n    *  @param  __cont  Container.\n+   *  @since  C++11\n    */\n   template<typename _Container>\n     [[__nodiscard__, __gnu__::__always_inline__]]\n@@ -71,6 +72,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION\n    *  @brief  Return an iterator pointing to one past the last element of\n    *          the container.\n    *  @param  __cont  Container.\n+   *  @since  C++11\n    */\n   template<typename _Container>\n     [[__nodiscard__, __gnu__::__always_inline__]]\n@@ -83,6 +85,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION\n    *  @brief  Return an iterator pointing to one past the last element of\n    *          the const container.\n    *  @param  __cont  Container.\n+   *  @since  C++11\n    */\n   template<typename _Container>\n     [[__nodiscard__, __gnu__::__always_inline__]]\n@@ -94,6 +97,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION\n   /**\n    *  @brief  Return an iterator pointing to the first element of the array.\n    *  @param  __arr  Array.\n+   *  @since  C++11\n    */\n   template<typename _Tp, size_t _Nm>\n     [[__nodiscard__, __gnu__::__always_inline__]]\n@@ -105,6 +109,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION\n    *  @brief  Return an iterator pointing to one past the last element\n    *          of the array.\n    *  @param  __arr  Array.\n+   *  @since  C++11\n    */\n   template<typename _Tp, size_t _Nm>\n     [[__nodiscard__, __gnu__::__always_inline__]]\n@@ -125,6 +130,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION\n    *  @brief  Return an iterator pointing to the first element of\n    *          the const container.\n    *  @param  __cont  Container.\n+   *  @since  C++14\n    */\n   template<typename _Container>\n     [[__nodiscard__, __gnu__::__always_inline__]]\n@@ -137,6 +143,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION\n    *  @brief  Return an iterator pointing to one past the last element of\n    *          the const container.\n    *  @param  __cont  Container.\n+   *  @since  C++14\n    */\n   template<typename _Container>\n     [[__nodiscard__, __gnu__::__always_inline__]]\n@@ -149,6 +156,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION\n    *  @brief  Return a reverse iterator pointing to the last element of\n    *          the container.\n    *  @param  __cont  Container.\n+   *  @since  C++14\n    */\n   template<typename _Container>\n     [[__nodiscard__, __gnu__::__always_inline__]]\n@@ -161,6 +169,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION\n    *  @brief  Return a reverse iterator pointing to the last element of\n    *          the const container.\n    *  @param  __cont  Container.\n+   *  @since  C++14\n    */\n   template<typename _Container>\n     [[__nodiscard__, __gnu__::__always_inline__]]\n@@ -173,6 +182,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION\n    *  @brief  Return a reverse iterator pointing one past the first element of\n    *          the container.\n    *  @param  __cont  Container.\n+   *  @since  C++14\n    */\n   template<typename _Container>\n     [[__nodiscard__, __gnu__::__always_inline__]]\n@@ -185,6 +195,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION\n    *  @brief  Return a reverse iterator pointing one past the first element of\n    *          the const container.\n    *  @param  __cont  Container.\n+   *  @since  C++14\n    */\n   template<typename _Container>\n     [[__nodiscard__, __gnu__::__always_inline__]]\n@@ -197,6 +208,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION\n    *  @brief  Return a reverse iterator pointing to the last element of\n    *          the array.\n    *  @param  __arr  Array.\n+   *  @since  C++14\n    */\n   template<typename _Tp, size_t _Nm>\n     [[__nodiscard__]]\n@@ -208,6 +220,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION\n    *  @brief  Return a reverse iterator pointing one past the first element of\n    *          the array.\n    *  @param  __arr  Array.\n+   *  @since  C++14\n    */\n   template<typename _Tp, size_t _Nm>\n     [[__nodiscard__]]\n@@ -219,6 +232,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION\n    *  @brief  Return a reverse iterator pointing to the last element of\n    *          the initializer_list.\n    *  @param  __il  initializer_list.\n+   *  @since  C++14\n    */\n   template<typename _Tp>\n     [[__nodiscard__]]\n@@ -230,6 +244,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION\n    *  @brief  Return a reverse iterator pointing one past the first element of\n    *          the initializer_list.\n    *  @param  __il  initializer_list.\n+   *  @since  C++14\n    */\n   template<typename _Tp>\n     [[__nodiscard__]]\n@@ -241,6 +256,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION\n    *  @brief  Return a reverse iterator pointing to the last element of\n    *          the const container.\n    *  @param  __cont  Container.\n+   *  @since  C++14\n    */\n   template<typename _Container>\n     [[__nodiscard__, __gnu__::__always_inline__]]\n@@ -253,6 +269,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION\n    *  @brief  Return a reverse iterator pointing one past the first element of\n    *          the const container.\n    *  @param  __cont  Container.\n+   *  @since  C++14\n    */\n   template<typename _Container>\n     [[__nodiscard__, __gnu__::__always_inline__]]\n@@ -267,6 +284,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION\n   /**\n    *  @brief  Return the size of a container.\n    *  @param  __cont  Container.\n+   *  @since  C++17\n    */\n   template <typename _Container>\n     [[nodiscard, __gnu__::__always_inline__]]\n@@ -277,6 +295,9 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION\n \n   /**\n    *  @brief  Return the size of an array.\n+   *  @param  - An array.\n+   *  @return The number of elements in the array.\n+   *  @since  C++17\n    */\n   template <typename _Tp, size_t _Nm>\n     [[nodiscard, __gnu__::__always_inline__]]\n@@ -287,6 +308,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION\n   /**\n    *  @brief  Return whether a container is empty.\n    *  @param  __cont  Container.\n+   *  @since  C++17\n    */\n   template <typename _Container>\n     [[nodiscard, __gnu__::__always_inline__]]\n@@ -297,6 +319,8 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION\n \n   /**\n    *  @brief  Return whether an array is empty (always false).\n+   *  @param  - An array.\n+   *  @since  C++17\n    */\n   template <typename _Tp, size_t _Nm>\n     [[nodiscard, __gnu__::__always_inline__]]\n@@ -307,6 +331,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION\n   /**\n    *  @brief  Return whether an initializer_list is empty.\n    *  @param  __il  Initializer list.\n+   *  @since  C++17\n    */\n   template <typename _Tp>\n     [[nodiscard, __gnu__::__always_inline__]]\n@@ -317,6 +342,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION\n   /**\n    *  @brief  Return the data pointer of a container.\n    *  @param  __cont  Container.\n+   *  @since  C++17\n    */\n   template <typename _Container>\n     [[nodiscard, __gnu__::__always_inline__]]\n@@ -328,6 +354,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION\n   /**\n    *  @brief  Return the data pointer of a const container.\n    *  @param  __cont  Container.\n+   *  @since  C++17\n    */\n   template <typename _Container>\n     [[nodiscard, __gnu__::__always_inline__]]\n@@ -339,6 +366,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION\n   /**\n    *  @brief  Return the data pointer of an array.\n    *  @param  __array  Array.\n+   *  @since  C++17\n    */\n   template <typename _Tp, size_t _Nm>\n     [[nodiscard, __gnu__::__always_inline__]]\n@@ -349,6 +377,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION\n   /**\n    *  @brief  Return the data pointer of an initializer list.\n    *  @param  __il  Initializer list.\n+   *  @since  C++17\n    */\n   template <typename _Tp>\n     [[nodiscard, __gnu__::__always_inline__]]\n@@ -358,6 +387,11 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION\n #endif // __glibcxx_nonmember_container_access\n \n #ifdef __glibcxx_ssize // C++ >= 20\n+  /**\n+   *  @brief  Return the size of a container, as a signed integer.\n+   *  @param  __cont  Container.\n+   *  @since  C++20\n+   */\n   template<typename _Container>\n     [[nodiscard, __gnu__::__always_inline__]]\n     constexpr auto\n@@ -368,6 +402,10 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION\n       return static_cast<common_type_t<ptrdiff_t, type>>(__cont.size());\n     }\n \n+  /**\n+   *  @brief  Return the length of an array, as a signed integer.\n+   *  @since  C++20\n+   */\n   template<typename _Tp, ptrdiff_t _Num>\n     [[nodiscard, __gnu__::__always_inline__]]\n     constexpr ptrdiff_t\n","prefixes":["committed"]}