From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from simark.ca by simark.ca with LMTP id kZZ8JSy+qmpu3RIAWB0awg (envelope-from ) for ; Wed, 16 Sep 2026 12:05:00 -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=GHgGS32I; dkim=pass (1024-bit key) header.d=arm.com header.i=@arm.com header.a=rsa-sha256 header.s=selector1 header.b=GHgGS32I; dkim-atps=neutral Received: by simark.ca (Postfix, from userid 112) id 9493C1E06B; Wed, 16 Sep 2026 12:05:00 -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=unavailable autolearn_force=no version=4.0.1 Received: from vm01.sourceware.org (vm01.sourceware.org [IPv6:2620:52:6:3111::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 EB2631E01F for ; Wed, 16 Sep 2026 12:04:59 -0400 (EDT) Received: from vm01.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 0A0EA4BA902D for ; Wed, 16 Sep 2026 16:04:59 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 0A0EA4BA902D 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=GHgGS32I; dkim=pass (1024-bit key) header.d=arm.com header.i=@arm.com header.a=rsa-sha256 header.s=selector1 header.b=GHgGS32I Received: from DU2PR03CU002.outbound.protection.outlook.com (mail-northeuropeazon11011036.outbound.protection.outlook.com [52.101.65.36]) by sourceware.org (Postfix) with ESMTPS id CC89C4BA79BA for ; Wed, 16 Sep 2026 16:04:08 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org CC89C4BA79BA 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 CC89C4BA79BA Authentication-Results: sourceware.org; arc=pass smtp.remote-ip=52.101.65.36 ARC-Seal: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1789574649; cv=pass; b=dln6D0GKhkCmsGtfzbrzY6y3XZ74fmLeYAtLt3K6dhFFrywH540Q/zTDQ4aa9Qfg3oSTtNCk372DqOFNdCAkAFSAH9tJt4s2KmU2DgUg1a4aj0DjK4IbfiFTAu04UC8Yb5iLtqOghMOyLb8rxnKLiNIgz8A+UCu4x0djhD8s/p0= ARC-Message-Signature: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1789574649; c=relaxed/simple; bh=4pGWjkJuWB9CjH3129ITxouLAaA1ZwCMDkZcUPF+QPs=; h=DKIM-Signature:DKIM-Signature:Message-ID:Date:Subject:To:From: MIME-Version; b=Z9HxOClVHA6nn3EZfj23SagGbUzX1pPJRtWeGZWAzw19zq8W12YPAA5UaiE2zGZdFD8VqCCfrdTGEM0OxGjFBLPprp1gP6lO9W9ptSvsVdsyDBNiNsbptlazgSKIhky01OkkBNfgWCkbXtddWUZCuRkujBItbSYPFr/+EXnJu9c= 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=GHgGS32I; dkim=pass (1024-bit key) header.d=arm.com header.i=@arm.com header.a=rsa-sha256 header.s=selector1 header.b=GHgGS32I DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org CC89C4BA79BA ARC-Seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass; b=ZDDgFGEQjIHZI/Jvu3hCLO6Hi/Ctcl9xwU399b9AbFBJwHYTRJWXBq8WbVnhFwfxWdbTfFO8bblaizO2hHe5FMpJq1MU7hhvz1ySv/nOLNdJ7TWllk+p5pkgYZXYmpWzRJIVvC7T3ZiPM1oo4ZOKcfq8QqQbOdl68iK6bNjoB7x8gV3RFyPMCxneXDpiktv0EK3VstAwY7ZFseIQqV8wSr36STULm8rh6Nm65FLfMnZCFVTvO7ymVKF9Arh2GvJSOfJVTjKI2IPsJYItKxIPqmNCeVjBy2kg8RYaf2xwyXd+sJac4YxcQYNyywdCoqpgnH/dCQPhLD/vTtn/RI00Qw== 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=IZRKe805tnFZKHsnyrqrF7mUqLDyxD4epJviFGg3eNo=; b=gXv2dGWnuvmEPnF0T516JTixc41UcGghPjzYkItM8h8fpJ8n7O6sq/UYDu9IWROQHfF7huCsfL893fvd8BIuTC8VoUMnT/CuHRCLpMsSiZZwAJykJnBY0NqlNgbjfB7D6CgtMvUdi7+E+dfJjxusObtEjbxubnGklNgXIk4sAQhPyk0z20h3ZERlgP2EWGbXdZygA2DJ6EluaCijn/IuXGKrermyij3XnqZonlqsJG2j4C0RQ2aLg7X2Nc22d+WieU3Mj8FXqXiRZ55JlYfY1KSyM2M8rcl6KHuBn5LjEgA5I9A06KtO0ZwUadD6fcVGya0mayuC7HgRQZeChiU4rg== 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=IZRKe805tnFZKHsnyrqrF7mUqLDyxD4epJviFGg3eNo=; b=GHgGS32INPmryOoJgzGJrlQ66Zp7ql/fWvA/a123DdXKIRZJc3XNg2Q82XpwvVyWFQl1QS18u2UT08mvfOgVwvnrv1aFoeiX5+yUnG46do8h4sTZ9FxGCi3IoUqNBsyo7Ks/OSRTuU4+7YWj0BnbkawNQ/udu4P+6aoILlsts7U= Received: from DU2PR04CA0086.eurprd04.prod.outlook.com (2603:10a6:10:232::31) by GVXPR08MB7870.eurprd08.prod.outlook.com (2603:10a6:150::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.428.8; Wed, 16 Sep 2026 16:04:00 +0000 Received: from DB1PEPF000509EC.eurprd03.prod.outlook.com (2603:10a6:10:232:cafe::18) by DU2PR04CA0086.outlook.office365.com (2603:10a6:10:232::31) 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:00 +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 DB1PEPF000509EC.mail.protection.outlook.com (10.167.242.70) 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:03:59 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=ik4KlKgFktdXUTB5UPwVV7IBvIYcJcepXWa/Yp7b1kWryFe1eA7Zyg39KMqrc/COnhpnC6w2exJR25VcheyB5scN5ti1/6mFa9E1E3C8hJtM7fzvXIdph6Thh6PKm17WdVqwloiatnwZfkXI8JrPvBWhkfXDzqARsICA65tBbQi4O4G71zDLKlJaBM7/54//fN5axviFDe4b3AoWTx4i1xK0lVkSuPLMzJqKSe/+ACTw0SBkrHoRfc23s92idrDTj8Yhuy0lodN8eEC3dg/xPYfTAN7LIjbZsMJJSdzjIe0l7BpOF94zxEMrL24w6A5ad0aeyZTXqhIRT9PbSFmNiA== 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=IZRKe805tnFZKHsnyrqrF7mUqLDyxD4epJviFGg3eNo=; b=Azvj5P4zFAwFIJNTcOAV5KvJzLhXdHl3QYcWVVfQDbRzr/5X7mFwNl+tVVaqcbPLBbeTxfZH/jr4vGLFm8CyWG5K7vrjaMUWVIncSSyPI0G8pVsHVqPMtikcxyfWXX5y01f9d08T5/oOX+tBOgh5Y0g/TwoxbSmgEcfr/2QxK886bhJ61JOwSj5eII3hI5BobCg62v32gWrn1zQl+iDmLiS9iiIch1Y9NTbHKDfwNYtMkiALz7M78T4S7umCs2M72Vh+Hy64e087EXXxExoC96VgEPIIhoYPoa1Mw6aiRM9dXgoPo9mrWf83ROTtuWKMJPS5CWxQM4iHQtXZD+3+iQ== 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=IZRKe805tnFZKHsnyrqrF7mUqLDyxD4epJviFGg3eNo=; b=GHgGS32INPmryOoJgzGJrlQ66Zp7ql/fWvA/a123DdXKIRZJc3XNg2Q82XpwvVyWFQl1QS18u2UT08mvfOgVwvnrv1aFoeiX5+yUnG46do8h4sTZ9FxGCi3IoUqNBsyo7Ks/OSRTuU4+7YWj0BnbkawNQ/udu4P+6aoILlsts7U= 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:28 +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:28 +0000 Message-ID: Date: Wed, 16 Sep 2026 17:03:26 +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> <87fqzhe538.fsf@redhat.com> Content-Language: en-US From: Matthieu Longo In-Reply-To: <87fqzhe538.fsf@redhat.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-ClientProxiedBy: PA7P264CA0523.FRAP264.PROD.OUTLOOK.COM (2603:10a6:102:3db::28) To AS8PR08MB8659.eurprd08.prod.outlook.com (2603:10a6:20b:563::10) MIME-Version: 1.0 X-MS-TrafficTypeDiagnostic: AS8PR08MB8659:EE_|AMBPR08MB559805:EE_|DB1PEPF000509EC:EE_|GVXPR08MB7870:EE_ X-MS-Office365-Filtering-Correlation-Id: 7f50a577-7fd0-4212-c4fd-08df140c1ecb 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: oYIAewGEMqNnoZ8TTcA9iHqPmTjRQ6lO87pONtpA+RLu9toL1AAg301VjZ2vPgIuJBQjcio0HuJHMdzmOWRlLFkJawu7gu9+1LyVSzpTJd6jCFUeHLG4FQuP7QPVuTt9I4V4U8uoveAxJLzhsKEPmBkLmF+JLfMh5IMknkuOK/9ubEM6cIi90bMeKOHeriRp4nAXrO6MM2Q5uC8ukz4ASlV6eOeNjGieXlOctBYUGjXCOsxMhMs6KSlxPX0BWzS26u7jFRwXB7z1o+06nMtO8a946ZNMiRyjXoOCgZj52KVYd1AnAafXKre1pYQCBG4Tk3n431W/NCpRAfsvpuhl1V/e35gJZtSoIpOTWWAb2LNjcjkdeLqHLcoNzkn62oiyRGaYYgVD18ozED3CClssNDw0Znq2RbZ7Q9bmDyEaGqxYrW72hl2Gg9d7J/3aJUdILkdQAqe7HRdmxtU33x8PCCcub3zZnZrc6VTxtAZIKuPCiOnzJEZ9Azu/5pU7fc8S7ITNG3ArGQ0dKbgkqqNYpNZEQtzvVVJRy4T/AQzWL/znt4ge7MKELwY5Gq/otzjTcpuMnvhjEviCpLjOgy9hb3NNYpm/UYQKqokGqafuGQA= 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: qbrkrf+t+mjSRjMsqx3ZCQ9tL3AJi2CZD+XTrucGca0ZYAWUTlaPa1tCq0g1p/fyRVo1dged3IiLMMCBsmdcAB+IzQ3RxRSG1eM8Crv+6yAwI8mn5+jaIXKL8zDuNKC7Nrv2NwRU/p+pW1LwDZnoa3HIJyxf0oWYl6L7SAypiavPi8LF/dScM/xGdGdWLQfOB5Lc1Ho6whENdOmBODXjLLflX4abBXq6nqNTuLA+yudKXnKmE2chcIrPh7Esxp0UEwf40MLRoya5rH/so4TGXYh45aMO8nmrAtN7CxRtj9Poh8ofxRtvzIdc5cxWXDEEm0UUF5UmG50cThyoVpUqxg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AMBPR08MB559805 X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: DB1PEPF000509EC.eurprd03.prod.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: 131e7a47-a728-4c87-4f3f-08df140c0ba3 X-Microsoft-Antispam: BCL:0; ARA:13230040|35042699022|82310400026|23010399003|1800799024|14060799003|36860700016|376014|10067099003|6133799003|18002099003|22082099003|11063799006|56012099006|4143699003|13003099007; X-Microsoft-Antispam-Message-Info: 8SzKTWxJPubKRPzjNlitVFQfXcx1W9TA+pd0P94DtirSXeRMDPB7aIODs3ChiXrnoH75D+i4ubYq1iRqfPpZGKxb/Xeh6+3/XGXGIgXYIDGDfSc41jSaC62hfxMwlhP1ynydoQbRzPFI0gESSujnl5Q6MwgXnn0qSJdqRE+dMZGrQRkQM/t4nkeeqEvQwbRYOBw7xban2kh3BlhLzwX9bVvvwd5BRTLxbJvwieIEHUwfH76ALQrD3xGKj1SDIUVme9FWY+hQi5fLUDBmfZvpu8WKCZCT14kbbR9uWiPrLNrD/hUJ03Vp0W4QX7VNg0A47wxCmv1DoJ9p/AmHvlrkk/hSrUFv1u59/4DBr8KYhPTvKzmiCGnKobUqWxTOUHrnejGurXCRJDLdAKVzBpexDgSYlNoj0oMgvPc0KkqQaJaUwtkUKy5PZtpE71ODvtMCyGAFpgQ+aeeW2kKSZ1jREkKsVBwZDHpSOP0s3OK+IZN6g/mvLa1FRq6VLDZC4s++u/0p+0X3JpjoAWCbBAHKaygUV8lRknVWDnFi3WPf2qP1nss84Q63Pb79rOrPelGdEy8OyfQtguzxk6qOj9ZkbpjMpjs2rpM8tRhgL8DYlEyL6Dh5okiYXT+Ha0I92VtMkWI4acQhH7yhpZM4uba6xw== 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)(35042699022)(82310400026)(23010399003)(1800799024)(14060799003)(36860700016)(376014)(10067099003)(6133799003)(18002099003)(22082099003)(11063799006)(56012099006)(4143699003)(13003099007); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: UNO14+A+x9HI6iUROlCMT5zsI9vimHntD2Ka9DQBt0WubOyET/u17FXlQJrnQSCM9r5pdIc5fHNW/T9q9hlUNkwxI/yzn0WOhMGulRAcVpsJRZIy1oXZ5QeoT43CdNaiI3J/kX9yTX3v2fh2f3/54N8d56MHXvlZdDSEyQK8n0F+KEt0u9PSbSn8TzTmAtqjvmdho5nUMElHXHktveqXSMBWT3vsSawWqADj53WQOFj6EwqVtD6rkMHGzx6flVUw/RsosPSCeBdAQ5bzZmTvL/n+FiGQRQpNnbz6zDxMVLhCNDMaqOm0PIFZNrDnt1h142laTiHreB16ZKKeHvUGF48Gc5usJvayVv8DPcOmhNd5MESEAS+sAPTcjYylMAyHIAH3fdvgLL97plAq4j3beijsQfdTXgadnP+bHg71gq6aYPvBKAdS2CCG6DUWc2ib X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Sep 2026 16:03:59.7722 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 7f50a577-7fd0-4212-c4fd-08df140c1ecb 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: DB1PEPF000509EC.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: GVXPR08MB7870 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:08, Andrew Burgess wrote: > Andrew Burgess writes: > >> 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? 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. >> >> 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. > > Just as I hit send I realised that I should also say this would benefit > from some unittests, see gdb/unittests/ for examples. > > Thanks, > Andrew Added the unit tests in the next revision. Matthieu