From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from simark.ca by simark.ca with LMTP id 6eqVACu+qmpu3RIAWB0awg (envelope-from ) for ; Wed, 16 Sep 2026 12:04:59 -0400 Authentication-Results: simark.ca; dkim=pass (1024-bit key; unprotected) header.d=arm.com header.i=@arm.com header.a=rsa-sha256 header.s=selector1 header.b=NLWdenJq; dkim=pass (1024-bit key) header.d=arm.com header.i=@arm.com header.a=rsa-sha256 header.s=selector1 header.b=NLWdenJq; dkim-atps=neutral Received: by simark.ca (Postfix, from userid 112) id EFA321E06B; Wed, 16 Sep 2026 12:04:58 -0400 (EDT) X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-25) on simark.ca X-Spam-Level: X-Spam-Status: No, score=-2.4 required=5.0 tests=ARC_SIGNED,ARC_VALID,BAYES_00, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,MAILING_LIST_MULTI, RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED, RCVD_IN_VALIDITY_RPBL_BLOCKED,RCVD_IN_VALIDITY_SAFE_BLOCKED autolearn=unavailable autolearn_force=no version=4.0.1 Received: from vm01.sourceware.org (vm01.sourceware.org [38.145.34.32]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange x25519 server-signature ECDSA (prime256v1) server-digest SHA256) (No client certificate requested) by simark.ca (Postfix) with ESMTPS id 2519D1E01F for ; Wed, 16 Sep 2026 12:04:58 -0400 (EDT) Received: from vm01.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id C8D664BA902C for ; Wed, 16 Sep 2026 16:04:56 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org C8D664BA902C Authentication-Results: sourceware.org; dkim=pass (1024-bit key, unprotected) header.d=arm.com header.i=@arm.com header.a=rsa-sha256 header.s=selector1 header.b=NLWdenJq; dkim=pass (1024-bit key) header.d=arm.com header.i=@arm.com header.a=rsa-sha256 header.s=selector1 header.b=NLWdenJq Received: from OSPPR02CU001.outbound.protection.outlook.com (mail-norwayeastazon11013006.outbound.protection.outlook.com [40.107.159.6]) by sourceware.org (Postfix) with ESMTPS id EBAFD4BA23C0 for ; Wed, 16 Sep 2026 16:04:29 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org EBAFD4BA23C0 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=arm.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=arm.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org EBAFD4BA23C0 Authentication-Results: sourceware.org; arc=pass smtp.remote-ip=40.107.159.6 ARC-Seal: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1789574670; cv=pass; b=SPEGbFjHpvFj6OuVQiErR3BGokE9w5R92Xk8QHWdijAbaEApnFfLboB9FSe/A70PhcYIHv4bGFd89wSdT2jEELgpzIsEgCc9YOMxHVf4y+bJ1cVF/DRmoEw/5MTkKwjPqS3E50albP5pSqhSHctBmAXausfZ2BvIMNZ96pgDtrs= ARC-Message-Signature: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1789574670; c=relaxed/simple; bh=TVsqvHiMXhiJPSx8DhRsoYapF/1b/cce+qsWjYo4VRY=; h=DKIM-Signature:DKIM-Signature:Message-ID:Date:Subject:To:From: MIME-Version; b=tudEaefwL0Meg7HPapGrVK/3y8F7Db0XcUn+X64OSm2YcVHDeGmAQpupOboFVfTXXr6YzMiP1IkZioHpWordp5QWJBnRtGCQKus0KrU6qr9AYQ5umE/XN94vrFrbb2HFHIwY3sBoV1G62Rge9/XQZ5DIEMjVYZRZ9G8VsKLFFUg= ARC-Authentication-Results: i=3; sourceware.org; dkim=pass (1024-bit key, unprotected) header.d=arm.com header.i=@arm.com header.a=rsa-sha256 header.s=selector1 header.b=NLWdenJq; dkim=pass (1024-bit key) header.d=arm.com header.i=@arm.com header.a=rsa-sha256 header.s=selector1 header.b=NLWdenJq DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org EBAFD4BA23C0 ARC-Seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass; b=C+3gC85hNsPOJ/RWcBuZB7co5t35Gj1DCtDQ0YQc0kAgjG8x6FSP6P8LFipghtDIvqPiSJm8WwKgi0SvvUkMVopTqstafVRef/nsVd8ZKnABeFTIvG/Tak7RzgmirWBW7RTRd0Cq0MAns+z1FYNzgZ99e/FJ209dDNHIDKfZE3fOkq9n5gdNX+UyIdF6g0QmDMpM3P2CeyqdZhSHlM/yskLwtrtlUUbZvpmjkg1cGmNEvLfMpS/W733LVRfwAlgM+9M0+upE+Oeleh0Mz+OzPwIt5/WZ2SIAKODFkY5YqN3eC1QhlX/3/ARhKx/1nq1/RVr3alnhKtmCWv3TK0U4Kw== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=jhUIVmAvowVjHj40QZTNrjV6qNv8Iio/Tv3yoAj46SM=; b=t7HmdSZ01Xjrz+WQv8m8+ed8RDjbs2bRCeE+iiNzZf8F4ACE1J6mKLY5BzUDbBiFo8JvaleRYQ32Cr8KNiVAdwfOigBW0gdMsxBp9TVyN0zDxxozG3m8UyNRPBUh04YilR+6lbfy7EhWQeoApXVRG2Tiuqpcg+ldRb/Qwi+JIwvpttirkPCdMnrOMLW4tUlJCJvIdIQjQmIZ5kb/MUyYiLHpV2G3HthYIzYV/9rw78fd2Nb8hJEv2HeLpDfUmv/A8nZsVgerAxtyrCg1Y0HZFnbmIi7OKiAJbYLQ16yFgpWYeEN3o1USjRNLcszsjWZSjmxFYcq/SUCBIAhZwzla+Q== ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is 4.158.2.129) smtp.rcpttodomain=redhat.com smtp.mailfrom=arm.com; dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com; dkim=pass (signature was verified) header.d=arm.com; arc=pass (0 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com] dmarc=[1,1,header.from=arm.com]) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arm.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=jhUIVmAvowVjHj40QZTNrjV6qNv8Iio/Tv3yoAj46SM=; b=NLWdenJqIbuzK1uYtQ/gBjFhyrnZ/JjfBmj/qbP1yFK/SkRv81jFwmgDRkpPpZSvcTaM45i7SPKoXrMRE5SI60z7apk1+7SFYhr5+XL62YronwC0P+8UCACf4hgUKnYvUcxLcZmF7Cmy/2e8RIaxVxt4yx74aT4agH5Cba/EbPw= Received: from AS8PR04CA0053.eurprd04.prod.outlook.com (2603:10a6:20b:312::28) by MI9PR08MB999904.eurprd08.prod.outlook.com (2603:10a6:290:cf::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.451.5; Wed, 16 Sep 2026 16:04:13 +0000 Received: from AMS1EPF0000008D.eurprd05.prod.outlook.com (2603:10a6:20b:312:cafe::91) by AS8PR04CA0053.outlook.office365.com (2603:10a6:20b:312::28) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.428.11 via Frontend Transport; Wed, 16 Sep 2026 16:04:13 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 4.158.2.129) smtp.mailfrom=arm.com; dkim=pass (signature was verified) header.d=arm.com;dmarc=pass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 4.158.2.129 as permitted sender) receiver=protection.outlook.com; client-ip=4.158.2.129; helo=outbound-uk1.az.dlp.m.darktrace.com; pr=C Received: from outbound-uk1.az.dlp.m.darktrace.com (4.158.2.129) by AMS1EPF0000008D.mail.protection.outlook.com (10.167.242.84) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.428.7 via Frontend Transport; Wed, 16 Sep 2026 16:04:12 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=lPBMfs208z7vma6rRjbUnbONXIaE5cOXGQifdzpvzEFoVScKDWZt7UdPbnW8AdOYQD1CR4xGxfaVSqZnoUp9Yb+p7RY4dCXFyzhwoVp67/hCkGaWdsTWm/H2uOO+/AYVTQ3xTOaT81zpDxfzR3r2g412IxNyzE+VtnTV5DrpKk9pUocIHjFjqPrTU7CUPogMYoLpHP08KLKmQU8qPzAItyO2J8dPTC+eyakeE20q45GSF2hLWiu6khp/dd63ywtqGRGR83UwgM0FBKRVNYbfoRNJsWqpiWG3hOBR7zcctZbhQra4PJTF4Pf6h3yYYJJQnsgJKHW3Mw6rKUCocRXErw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=jhUIVmAvowVjHj40QZTNrjV6qNv8Iio/Tv3yoAj46SM=; b=XPoWjfrmSU1GizY4m5iQCmfdWY5vtlSK2RrSZi0ZfEk0R1cXkz6mps0mBf0uGlFZLYqsuCMNhwtox+mmadiKGV2oWzlK61ebcWjJhm1Sr8R9Igikk+cCQF+txNzTggonBoDGYofumRZN+OIXZsMkTxjWHnc2QHcrHkGUaXR5wQzTBKva9lOyx3+vIJ77ghfh+bEUXri9LdGoawXWA0qdcIdwAd3sHU7KCIcJRzWrtrrRbCB9hp2BJsaozbjndfFM6AvGlWt9vDHtf9m6cWSli7fXAr1IrzFow0MxA9x9Lzyw8cP+tEwU1TvOh6hqRDJEhPzzz7/4KFyzl9mfy8iqkg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass header.d=arm.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arm.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=jhUIVmAvowVjHj40QZTNrjV6qNv8Iio/Tv3yoAj46SM=; b=NLWdenJqIbuzK1uYtQ/gBjFhyrnZ/JjfBmj/qbP1yFK/SkRv81jFwmgDRkpPpZSvcTaM45i7SPKoXrMRE5SI60z7apk1+7SFYhr5+XL62YronwC0P+8UCACf4hgUKnYvUcxLcZmF7Cmy/2e8RIaxVxt4yx74aT4agH5Cba/EbPw= Authentication-Results-Original: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; Received: from AS8PR08MB8659.eurprd08.prod.outlook.com (2603:10a6:20b:563::10) by AMBPR08MB559805.eurprd08.prod.outlook.com (2603:10a6:20b:7af::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.428.11; Wed, 16 Sep 2026 16:03:41 +0000 Received: from AS8PR08MB8659.eurprd08.prod.outlook.com ([fe80::96bf:2de3:5eab:70ae]) by AS8PR08MB8659.eurprd08.prod.outlook.com ([fe80::96bf:2de3:5eab:70ae%5]) with mapi id 15.21.0428.008; Wed, 16 Sep 2026 16:03:41 +0000 Message-ID: <206bab2e-27b4-4a59-8b11-f4a9a22c3128@arm.com> Date: Wed, 16 Sep 2026 17:03:40 +0100 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v2 2/6] gdb support: add gdb::ranges::replace algorithm To: Andrew Burgess , gdb-patches@sourceware.org Cc: Simon Marchi , Thiago Jung Bauermann , Luis Machado , Luis Machado , Christina Joos , Kevin Buettner References: <20260825100912.514232-1-matthieu.longo@arm.com> <20260825100912.514232-3-matthieu.longo@arm.com> <87ik4de550.fsf@redhat.com> Content-Language: en-US From: Matthieu Longo In-Reply-To: <87ik4de550.fsf@redhat.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-ClientProxiedBy: PA7P264CA0521.FRAP264.PROD.OUTLOOK.COM (2603:10a6:102:3db::11) To AS8PR08MB8659.eurprd08.prod.outlook.com (2603:10a6:20b:563::10) MIME-Version: 1.0 X-MS-TrafficTypeDiagnostic: AS8PR08MB8659:EE_|AMBPR08MB559805:EE_|AMS1EPF0000008D:EE_|MI9PR08MB999904:EE_ X-MS-Office365-Filtering-Correlation-Id: a7cc09fc-cbea-41e3-a514-08df140c269f x-checkrecipientrouted: true NoDisclaimer: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0; ARA:13230040|376014|1800799024|366016|23010399003|22082099003|18002099003|11063799006|56012099006|4143699003|6133799003|10067099003; X-Microsoft-Antispam-Message-Info-Original: EQAo40iIlbb3TOb8N1MFkv2WPCFeBJjkQrqSyaUTrj+Rqewq7v8/vSmzDp6iVVUO2Rm3MLNAt2kWFVwN+TGIa7zLnlpgq9hNH5/8c0cAQJnZ5Z2oF65g/nxtnH8EGnCUNayDa5ueOVayl+kPXYYPQ3i5qkU3p32r4ZNVpSGKkhva+5GLEeseA4dIzOloBNOkZ824sszF/+EtzLxoXK6OcL55RXiaLy3bnh+1z6B/KmuZ5eW3DKZuzMjVvmAEpTgJzhYOPOU1yGdRAz0w3VEloSbpUp1ec8chy38Gewt+OhorJy/UpPa2E9p8eZV2WFHJNvxU//HZ8EfoJuxdckAxcQI4a78i+K/hXd/CXLT2b8YHXPlyg/eHWqv8lneGruor2tMvBYBV4giZy1aNJL65GG2kB8hUG/Vbbg3uRGe1A9syS9rt3YI/ABscg37av/n5T16HrKRN3ajSvNxf63K5OybKNccSxHtHqvguXCTz+qbzS22Ufu127p5L88005uEXaKsvbAEYYhwJz9E4mI8FzNn2Sg/CufzzI7coBnLrdUwuvekuNlpl5ZMgcnsq+/uKmX9+Yxypao95/BOKyrx3Z4zaMbMLiMwvGPz/1EJtn2Q= X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AS8PR08MB8659.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(376014)(1800799024)(366016)(23010399003)(22082099003)(18002099003)(11063799006)(56012099006)(4143699003)(6133799003)(10067099003); DIR:OUT; SFP:1101; X-Exchange-RoutingPolicyChecked: M3myRjpsUvBRj4dswHeOSPAR8ESRnP7Qkh51vy9nHyEwvRFKKVRoPySZuEqcrRf8Zh0Swxw0G6NrIvuzBlwhgmEiU2WQHdMah242ldhtqaVWTD05/jEIrDwH8FaBRsgk6eP+oX4WIRsbCdPrdEReTZozMbeUEuOAC6Lfx4yE44W7UJAxpT83vEtCo4xM+nU25S4s3ZS9M9ZHzkek3V4krH9UUso5kj1KIHRnHWx7z2uETr0iJTM9OnmdcW1uj9p5QeLg0B1cWtdZsE6IHBH4+lCaw8MJszjoxoMgAVWUL6OwrQQybs/bu6NUSeZmfZ1CT5LLcQaZFwUk79VL6ThE4g== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AMBPR08MB559805 X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: AMS1EPF0000008D.eurprd05.prod.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: d7da3ac0-ed5e-4edd-50fd-08df140c13b5 X-Microsoft-Antispam: BCL:0; ARA:13230040|376014|82310400026|23010399003|14060799003|1800799024|35042699022|36860700016|6133799003|10067099003|4143699003|56012099006|11063799006|22082099003|18002099003; X-Microsoft-Antispam-Message-Info: rJLP6ITIpNkddNhdxsTnEWy5yxutVAcN/HH7FkfQmqot5bYUNZj3J6E/mVg4QjfaFT2fQ7qg1bdRcU1R+JEMgqghk5avHoE6mJCv/iuzdFJmFSRUy2OFhdqazsgqqAUHmcDy3IXPQzpjMA85FQVrhqLF/E14i2Uia6q1sFVKkv/UmfVZ+ruYfQ57rcgXDEDyuxPsp7YpLv2hCsVsOUxSaTDJnVr8qENyen61NNbnqJuMQO6Nip1GSQ00QICovVHD2BlECWTeTq94M5tyVOk/iA23W5jYSU+WDXL8M8KiytLRkis/94aZxZvvZvTONHFzLXTAn95TC4MaOrjvakDwOnPodj3UzLW6zH1cQSRts/Uml7ThZuuFfchXE3ZDFPY2D0P8OOOtikE13F1Y45OCUpG5I2lnU4dmu69voAc5Q2RMKybWjBmRD6dMTwwEoAYiQZ1TKJPIlptzOqYMfcbn+nW9i+xXEFOVWRErBfflprq6SjK/nHWFacmDBv1esHY+gS5lhdMGRTzfm6WNeEFiwP2eg5hmBzxGR54CtRtOYO2P3qneURPY3asbEsd6oH+grWo2U5yTRfPTSE98oWCdnLCgOUDmqtwUpQPhMYbwQQIRhfMvMLrtogaopUudyEPh10YWANzSRW++CWcYkdoRTA== X-Forefront-Antispam-Report: CIP:4.158.2.129; CTRY:GB; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:outbound-uk1.az.dlp.m.darktrace.com; PTR:InfoDomainNonexistent; CAT:NONE; SFS:(13230040)(376014)(82310400026)(23010399003)(14060799003)(1800799024)(35042699022)(36860700016)(6133799003)(10067099003)(4143699003)(56012099006)(11063799006)(22082099003)(18002099003); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: ho5cdkernb53lIdoeHZUGDnBx8UkQDa0nchFvgM+i+L2K6P5ONlSim+nJeIyiVya//YkmZdKUMSFBqfLo78iLcRYl8mRZuF7gdfYe9En9hoK8U2PrWpteCite0XgcSe9ztaMkJlAxkEszTo7resXS15ywdnIyYeIFRkq5HCToO8R9f4fxfC/uAbQnkH9NSpvJa0H1VtSylPAccJJ8nuXl46nYMdRY/4gk3+zFiH6AVJqvVsGUeSeO7kC9Ca776V+C9iRtPBlXqG4WIpiklaqzpZ1I8ykwmMP8RNP1G61zg1eSwvBWmwAtp5VyOWuDBV1pvLx78CFQgUbdK9+1N9UEOGIuL1sJwXOI8BVm8Cfafj/l+fu3B9BMJjWMdQhYI7igiffrswmWtRX/Eg/wlNWwnMpbBJkfPrvxd5HEsVJRc/C4TxunKQBiwMpwx0muggq X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Sep 2026 16:04:12.9142 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: a7cc09fc-cbea-41e3-a514-08df140c269f X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d; Ip=[4.158.2.129]; Helo=[outbound-uk1.az.dlp.m.darktrace.com] X-MS-Exchange-CrossTenant-AuthSource: AMS1EPF0000008D.eurprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: MI9PR08MB999904 X-BeenThere: gdb-patches@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Gdb-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: gdb-patches-bounces~public-inbox=simark.ca@sourceware.org On 10/09/2026 12:07, Andrew Burgess wrote: > Matthieu Longo writes: > >> Provide a C++17-compatible replacement for the C++20 std::ranges::replace >> algorithm, allowing callers to use a consistent interface until GDB >> transitions to C++20. The helper should be removed once the C++ standard >> library implementation become available. >> >> https://en.cppreference.com/cpp/algorithm/ranges/replace >> --- >> gdbsupport/array-view.h | 16 ++++++++++++++++ >> 1 file changed, 16 insertions(+) >> >> diff --git a/gdbsupport/array-view.h b/gdbsupport/array-view.h >> index 8431d7f5add..f9842ecff30 100644 >> --- a/gdbsupport/array-view.h >> +++ b/gdbsupport/array-view.h >> @@ -225,6 +225,22 @@ void copy (gdb::array_view src, gdb::array_view dest) >> std::copy_backward (src.begin (), src.end (), dest.end ()); >> } >> >> +namespace ranges { >> + >> +/* Replace all occurrences of a value in the provided range. >> + >> + Note: this helper is a reimplementation of std::ranges::replace, only >> + available from C++20 onwards, and consequently, should be replaced by >> + std::ranges::replace once GDB switches to C++20. */ >> + >> +template >> +void replace (Range r, const T &old_value, const T &new_value) > > Looking at the linked cppreference page, the C++20 functions take R as > 'Range &&r'. Doesn't your versions create a copy of the range? Yes, it does. Given that I was only using it gdb::array_view, I didn't notice the issue. The replace cannot work with vectors as you pointed out below. > This will work fine for non-owning ranges, like gdb::array_view, but will> mean replace operates on a copy of the range for something like > std::vector. Even if what you have above is intentional, I think this > difference should be highlighted and explained. > I changed the function signature to use 'Range &&r'. > Also, as this isn't specifically tied to gdb::array_view, I wonder if > this would be better put into a new file gdbsupport/ranges.h ? I don't > think anything much is needed to create the new file other than just > adding the file, so that should be pretty easy to do. > > Thanks, > Andrew Done. I also added: #if __cplusplus >= 202002L #error "replace the helpers below by the std::ranges::* equivalent." #endif in the file so that we don't forget about this and get rid of it once GDB migrates to C++20. Is this ok ? Or to avoid ? Matthieu