From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from simark.ca by simark.ca with LMTP id wF7qHGByZ2qHRjAAWB0awg (envelope-from ) for ; Mon, 27 Jul 2026 10:59:44 -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=WtOMrwI6; dkim=pass (1024-bit key) header.d=arm.com header.i=@arm.com header.a=rsa-sha256 header.s=selector1 header.b=WtOMrwI6; dkim-atps=neutral Received: by simark.ca (Postfix, from userid 112) id 4C6911E099; Mon, 27 Jul 2026 10:59:44 -0400 (EDT) X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-25) on simark.ca X-Spam-Level: X-Spam-Status: No, score=-5.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 autolearn=ham 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 90E5B1E099 for ; Mon, 27 Jul 2026 10:59:43 -0400 (EDT) Received: from vm01.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 230C84BB1C1D for ; Mon, 27 Jul 2026 14:59:43 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 230C84BB1C1D 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=WtOMrwI6; dkim=pass (1024-bit key) header.d=arm.com header.i=@arm.com header.a=rsa-sha256 header.s=selector1 header.b=WtOMrwI6 Received: from DB3PR0202CU003.outbound.protection.outlook.com (mail-northeuropeazon11010028.outbound.protection.outlook.com [52.101.84.28]) by sourceware.org (Postfix) with ESMTPS id B47624BA798E for ; Mon, 27 Jul 2026 14:59:16 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org B47624BA798E 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 B47624BA798E Authentication-Results: sourceware.org; arc=pass smtp.remote-ip=52.101.84.28 ARC-Seal: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1785164356; cv=pass; b=r3H+QbtglZ633szdw4/I0TvHdjNEEAbp16Rk91WuTWIAsHojgzOkQdlXTWXCKEYT9kWr3M+Wk2sz3Rr3u9bx6SqL2VnWdYXSpZJqFJ4cXhVxg45rq+OYxM2DslYdCFXtJJ16cyul3LKGPYJ0Zi7h89l8CLnWAgaF0SRHCAvepTI= ARC-Message-Signature: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1785164356; c=relaxed/simple; bh=vXycXDKeI+ZRIovcZ0NhJEHwaXPEWBJhLcHnW7DEpiI=; h=DKIM-Signature:DKIM-Signature:Message-ID:Date:Subject:To:From: MIME-Version; b=xfzJ3rXQVm7VGgiV4gYKMHP7XFK5YELN1WyDOJx2oSa+D/CwUZGMKG3wSX5mkIbAScto/uiL5LVSaG4maIuXamFqqGfBYSx/VBRWn+4n1hP7qXJHmvySxpvVTsjir6csF++JE3hS1oW+GMXXOVB2CRevJr+Y2P+cYDokDmqd/HM= 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=WtOMrwI6; dkim=pass (1024-bit key) header.d=arm.com header.i=@arm.com header.a=rsa-sha256 header.s=selector1 header.b=WtOMrwI6 DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org B47624BA798E ARC-Seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass; b=MfcLxZr4JJ6KDFo/YgTcI4JYLQdO1M9/br54+ahtjX21Odu6WeH48sUMreb6l4HgjG7mjvi/j+pDl/8UjWzXFlxfDWGwFzbxwDikbb6WZgM16j4kyRIgnXV0HqOJV9YA2Y3kjl7JTUj7n75gifZ2Wh7RNowMgZ7zdPvGWkA2vjVk/8L6u/qRiQID0FiatchNIQgU8cszaQFvdY2N8VsAa6lia8mHKM/h++ahl4iICMufWvGRS+3nrxoOO1BkUOhrM0xf3FicQhIk1Kd3uEJzn8BbiYEjjJYwezTXcV3QFzuumbiv/q8f53WcX0oJ+ZmHmuzyi6aZPVGY4EN10aj6mw== 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=UyHJCW0/tBXKdGt7EAduvDYUfcOpH1oGcNo9Yibj9Kk=; b=KmMGHcGGimP/H3d2cb2sj3TmBFjaVjw5yKifeiBZfjMw/IjHH6V5iMolMLUnsVQmBXcEWoIUJ39XL2wSIOA67ySCDtiP/65Q+7M0jW71GeaEOrOfRlnm6tRGRr3IXHpS011QdlQHxIgo5s4SMu7ypYXWiddtIOAvF3mzZsdn+6ti/AH+CrEgbfDQmKy88sM7zwIyWThK3KBn52sens/QAe5x6JN7AQtZ10INNA0FMK/vIeAzf4KLWj/HWh3X8j23O76tmGzBKCFRB0hRvQdRJbJLh4DEk0PzACZ7XxVYfrVJocS57KR4hCf/Du4uyffNNZXtGkGlrJQpwDoq3rek8Q== ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is 4.158.2.129) smtp.rcpttodomain=gmail.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=UyHJCW0/tBXKdGt7EAduvDYUfcOpH1oGcNo9Yibj9Kk=; b=WtOMrwI6dsXf3ZKsh3ghSffjdA490xU0LJlstM8/XlF2NVpt6gKZlky/KIC3OqsrnjOZcqJhQj6i/K0a75GCS9NtgO0niYkzcMxyGwQua4enjgI1wErkKJVwJ0z5xGDQvgkLkxY6xhs1IFe8sktQzQWCPaAi7iJau54dIFxljKM= Received: from AS9PR06CA0079.eurprd06.prod.outlook.com (2603:10a6:20b:464::13) by VE1PR08MB5567.eurprd08.prod.outlook.com (2603:10a6:800:1a7::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.245.13; Mon, 27 Jul 2026 14:59:06 +0000 Received: from AM1PEPF000252DE.eurprd07.prod.outlook.com (2603:10a6:20b:464:cafe::71) by AS9PR06CA0079.outlook.office365.com (2603:10a6:20b:464::13) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.245.13 via Frontend Transport; Mon, 27 Jul 2026 14:59:06 +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 AM1PEPF000252DE.mail.protection.outlook.com (10.167.16.56) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.270.5 via Frontend Transport; Mon, 27 Jul 2026 14:59:05 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=U2v48rtEArIvXaxJ1IgJYIsTBLaWMDjKDdytsGLHFIFaGK22GSuk1CtaOKXrB1R9qURQWTXo6CkpZql9EC5qzu6rN2xKjBvhAs5+KepwGk02/qxDyVNhYdlD5rpGnmU/5cPpQX58+yIegg0f1R4dYb5jjLNo3rPWQo1Ju4vd14Lq1K76yvANSbK8nU9yHHfKN10WhYvscgHAW/bJk4ZjaY+JtjxRXwiKUPDNeV23rsWoZFCxSGS5RjKCZ3ym4gmrGrAlnCQEo4WLdpbpU68pfKThpGWOPt+gcW8bwYmbHZR0q0IrcuhzJDKP+9L5vQUHfDCgQEwuF7oYvpod3mwPzg== 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=UyHJCW0/tBXKdGt7EAduvDYUfcOpH1oGcNo9Yibj9Kk=; b=yW2/ovtyS3316UbQaXdVxLTRUFwfmQ8NUmTlH1b11AAVcJtiK+Hv8SsEyutiptljeIZ0g+eZEIyqdlsumRKLQtfLBF9VaQ/Zvf9q1Rm41dB/vWC9+MvdVWvSw4GUVDaYgVCd30z8UUK1WRxP0cERbORssVnvfJcjLIsFtqyErz84TtAwyWXbwi4fitvzUVU5glGiYC1z6w0MU8rDopr+Imn86D90ydnEgEIM1Mifu8dF1z3iacHqAtb5jPGlfBwP8ifdsvPpSv9LQC8GxqpsTkMkQRaGKcf3e2JtrswUWwoWuWRIQ+TVExsJLiFDYgOBO1cWiZAMcn5jjouTSccC1w== 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=UyHJCW0/tBXKdGt7EAduvDYUfcOpH1oGcNo9Yibj9Kk=; b=WtOMrwI6dsXf3ZKsh3ghSffjdA490xU0LJlstM8/XlF2NVpt6gKZlky/KIC3OqsrnjOZcqJhQj6i/K0a75GCS9NtgO0niYkzcMxyGwQua4enjgI1wErkKJVwJ0z5xGDQvgkLkxY6xhs1IFe8sktQzQWCPaAi7iJau54dIFxljKM= 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 VE1PR08MB5677.eurprd08.prod.outlook.com (2603:10a6:800:1ab::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.245.13; Mon, 27 Jul 2026 14:58:02 +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.0245.012; Mon, 27 Jul 2026 14:58:02 +0000 Message-ID: Date: Mon, 27 Jul 2026 15:58:01 +0100 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v1 04/10] gdb support: add gdb::replace algorithm for iterators and ranges To: Luis , gdb-patches@sourceware.org Cc: Luis Machado , Andrew Burgess , Yury Khrustalev , Pedro Alves , Tom Tromey References: <20260707154900.94542-1-matthieu.longo@arm.com> <20260707154900.94542-5-matthieu.longo@arm.com> Content-Language: en-US From: Matthieu Longo In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-ClientProxiedBy: LO4P123CA0287.GBRP123.PROD.OUTLOOK.COM (2603:10a6:600:195::22) To AS8PR08MB8659.eurprd08.prod.outlook.com (2603:10a6:20b:563::10) MIME-Version: 1.0 X-MS-TrafficTypeDiagnostic: AS8PR08MB8659:EE_|VE1PR08MB5677:EE_|AM1PEPF000252DE:EE_|VE1PR08MB5567:EE_ X-MS-Office365-Filtering-Correlation-Id: af6019f2-5317-43ee-cfe6-08deebef9ab1 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|366016|23010399003|1800799024|56012099006|4143699003|11063799006|10067099003|22082099003|18002099003; X-Microsoft-Antispam-Message-Info-Original: P41mE4im5ytKO6BgkM8eWjNm+PCKK5EaOtAxNvA5DvOgPJV1w1S9g04UP6b4gpM2uV27ILnPzCmiGE403U3VZLDAyz0U5evgmBcfDfA0JqZtCLB1ppTaDJkcVioEpipNk1kffZpI0rIeBOGqx+dDaUxqXNuLOjdjo7FAxtGwTGxpU5lYe8NCnTLjLS1x7liQi/bulcy5xn/AnCbzFrAJTO+8L6lRAQQnxeEXYp0f7czfAN4CX+Vv8yd7enalfXnwCHR3Cqt0WLzpUFw+7QyrZ+k0RdplNIU4BlGdjci0NIIJwerBvtd2wquwtPi7EmOcSNvAmXopLyJNuAOYtGwcKjPuTS1PaERVHKLDzOZYFYE0jz9KeLuOs5oIO70hhCjse9qAOc0q3hxMwbHTCBencC+RGDbmbj4q0dPEhKyke4aGF3l3MUfIaKB+1zlqTvqOO0QZYmeOKAIR/dSNNWiaSPuMVrVjtuArzOPaVPV0/AgQvWAxvvVLj50e9PoYYuSYcUe2v8YN2WRDydTasSf88847dEbjsZnoYKNQK1Mfud0FJA5n/2YabKSzd5/npjyhLG2pKRTKU88JQnYr+o592DPoowgm1rPG1UYoj4kEbfS9VQb51ujY81o6labr7cLK4627vVzU4CpGSPM8F7ku0uDtUZl82SFf7fCvoMr+daY= 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)(366016)(23010399003)(1800799024)(56012099006)(4143699003)(11063799006)(10067099003)(22082099003)(18002099003); DIR:OUT; SFP:1101; X-Exchange-RoutingPolicyChecked: Suec0kPU0RjgB9TE0WCSLpAw2WKk5pw5wucBR+slF0aPBlotM/1qxN9x301MPWUKhVmcAlV4Ksjk8K4R6XxTzvkepwa0If3Q/gdgE3mLYrL3hnJ1faRg3p10masA3pKIJnzYsqTL1BVPsfQd6RB3xb8gKTiFohyiL6VJutGzPmgyT8T4Epqt1peYLb4nI5gB770yUadTLKQGn7WcA0Qtto4OPz4orFj8orGM4kL8pa58giTl9ckPl/qNmj4i2HWj50DvGT/5ieH02C3jmh4X5FmVuUkSrm525vE+yKySph515AET8IBTAuN7+scmFpvFYwf9Pwe28xElqR1CIXi8sA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR08MB5677 X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: AM1PEPF000252DE.eurprd07.prod.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: 59725946-95a2-4c91-e4d2-08deebef74ae X-Microsoft-Antispam: BCL:0; ARA:13230040|1800799024|36860700016|35042699022|14060799003|23010399003|376014|82310400026|56012099006|10067099003|11063799006|4143699003|22082099003|18002099003; X-Microsoft-Antispam-Message-Info: SQ368PSil6Wt5yG6qfavqy8qSHE73A582vDTZ2fU57JY8qMzRe3cPW23GXwqCE5hZ1EuUXRUwnXXcR2nipSXhtz9blcvzC2a7YvjrCcfvqoZ0jfzMWkO3W1h6noqZZcy5leOJUY1epE31WkLIOlasYURxRMKft2YxMkffZY4OEOS4eKKvQ7RLdTL6/er6stkG1o+1VWWlvUCSnCwxoXgGom0Laac9peufr3zLUbpnMDkfkmH26lOwjq5v5Q55pmiJvdSHDIpc8LUhPu3H4mh3CFsprg1Tmeyl8USXcc2fADfjgxl3nbY89LtoqCBq8P9LV/J+9UEFjdmRUnngssz7r+lUsqHCWsiu1Av7VWEMB2JmHXwcHFXioeRfxJ4iVl1HO3K6b1s5Bjh+8zYP8fW4OLb2wxkNUwMCEOYbkEObSFXv8d8i5lKdhuwjJr1qcSe4qbG9LhncboHKz31MFSCrVHaw2y7V7Gq6ke/zf1zRhZCwMUbEtO2ZU2RZwYOudX8QfExHZq7NQ2c4OY410TZUQiRieff4Ik1JRxTv+06knmPPUD3ilgCu82yzeFvVNnKKooWJC4X4EVpYW2crRUnB7LvI9+ECR62Hj3+lY6qwM9znxOzQO5Wh8rwMoYykuNv8wGke7vQh3mOeekDDZtmOV5L4xTJwhIgZmHQJLLj5p43C4qRWwgJFkBzHQd5V12T/F9FozvYobFFnY/2BlmA1g== 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)(1800799024)(36860700016)(35042699022)(14060799003)(23010399003)(376014)(82310400026)(56012099006)(10067099003)(11063799006)(4143699003)(22082099003)(18002099003); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 3FRTh1FkQaizXmU6uTDc7hJqbU7kYNYwV1nA4ksz+nar6egX6oYRi4hFhdg4jGtgA94HRJl2vpQYZYWqJ9CQUe96RVoufBptnUThVY/CMc/gCo/fmKQtlH8J74QMV+CIeHhwM4ecoIH+mTyRn56h/0SrjmfxOZ76O2b02Ma2Crxk0KQ4MrhF/1a61Kpt1lyFi+iAlhsMc2Cf/T01pQrAWk7NHVqypcAO2DAJNXwzmQwg3jlEL6w9K5VWGUItGJeJyTI1KMmqYjeWEyR79UjqSi4WBRtBGJ6E5F3FgnIMGV4Clt3Mxqwo/E0d3TLQ51vlZkefhGH7Und7UnU/6hK34AXE+owciCetZBbwPJgzQaNhWOgD19S0t1M8U2IefjZPXWdNuINhbj1qzf90z2qFTGD2ABqBULuh9HrH1gtd1yeISJjzFnB1Ydec6Eua6aGh X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Jul 2026 14:59:05.7339 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: af6019f2-5317-43ee-cfe6-08deebef9ab1 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: AM1PEPF000252DE.eurprd07.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR08MB5567 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 21/07/2026 22:33, Luis wrote: > Drive-by review, and C++20 issues aside. > > On 07/07/2026 16:48, Matthieu Longo wrote: >> Add a gdb::replace helper that mirrors the behavior of std::replace >> for iterator pairs, together with a convenience overload accepting a >> range. >> >> This provides a C++17-compatible replacement for the C++20 std::replace/ >> std::ranges::replace algorithms, allowing callers to use a consistent >> interface until GDB transitions to C++20. The helpers should be removed >> once the C++ standard library implementations become available. >> --- >>   gdbsupport/array-view.h | 26 ++++++++++++++++++++++++++ >>   1 file changed, 26 insertions(+) >> >> diff --git a/gdbsupport/array-view.h b/gdbsupport/array-view.h >> index 8431d7f5add..61119d7a8e2 100644 >> --- a/gdbsupport/array-view.h >> +++ b/gdbsupport/array-view.h >> @@ -225,6 +225,32 @@ void copy (gdb::array_view src, gdb::array_view dest) >>       std::copy_backward (src.begin (), src.end (), dest.end ()); >>   } >>   +/* Replace all occurrences of a value in the provided range. >> + >> +   Note: this helper is a reimplementation of std::replace, only available >> +   from C++20 onwards, and consequently, should be removed once we switch >> +   to C++20.  */ >> + >> +template >> +void replace (ForwardIt first, ForwardIt last, >> +          const T &old_value, const T &new_value) >> +{ >> +  for (auto it = first; it != last; ++it) >> +  { >> +    if (*it == old_value) >> +      *it = new_value; >> +  } > > Formatting: Identation of the braces is off. > This code will disappear in the next revision. >> +} >> + >> +/* Replace all occurrences of a value in the provided array view. >> +   Note: from C++20 onwards, std::ranges::replace should be used instead.  */ >> + >> +template >> +void replace (Range r, const T &old_value, const T &new_value) >> +{ >> +  replace (r.begin (), r.end (), old_value, new_value); Replaced by std::replace (r.begin (), r.end (), old_value, new_value); >> +} >> + >>   /* Compare LHS and RHS for (deep) equality.  That is, whether LHS and >>      RHS have the same sizes, and whether each pair of elements of LHS >>      and RHS at the same position compares equal.  */ > Matthieu