From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from simark.ca by simark.ca with LMTP id 7BqcC1QDmWmCbAMAWB0awg (envelope-from ) for ; Fri, 20 Feb 2026 19:59:00 -0500 Authentication-Results: simark.ca; dkim=pass (2048-bit key; unprotected) header.d=efficios.com header.i=@efficios.com header.a=rsa-sha256 header.s=selector1 header.b=AQmdwV39; dkim-atps=neutral Received: by simark.ca (Postfix, from userid 112) id 154961E0BA; Fri, 20 Feb 2026 19:59:00 -0500 (EST) 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=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 043351E08D for ; Fri, 20 Feb 2026 19:58:59 -0500 (EST) Received: from vm01.sourceware.org (localhost [127.0.0.1]) by sourceware.org (Postfix) with ESMTP id 6C9144B9DB61 for ; Sat, 21 Feb 2026 00:58:57 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 6C9144B9DB61 Authentication-Results: sourceware.org; dkim=pass (2048-bit key, unprotected) header.d=efficios.com header.i=@efficios.com header.a=rsa-sha256 header.s=selector1 header.b=AQmdwV39 Received: from YT3PR01CU008.outbound.protection.outlook.com (mail-canadacentralazon11020096.outbound.protection.outlook.com [52.101.189.96]) by sourceware.org (Postfix) with ESMTPS id 808D64BA23E0 for ; Sat, 21 Feb 2026 00:58:28 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 808D64BA23E0 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=efficios.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=efficios.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 808D64BA23E0 Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=52.101.189.96 ARC-Seal: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1771635508; cv=pass; b=Akec+75SeBCg6w46B38IOXymZ2NhkmHyeq+ERf71/PMmh24L7iPqiwHUF+NHp+hOWga0W1KdRCvnUX579qTZtu77Z7/PM99aqFdVNs/tTK86gG9KIKHfLcyr5qzyER4qkyMJiwHY62hlQv52/taeZJnEAQaWZ2v+SGThgmyDUKE= ARC-Message-Signature: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1771635508; c=relaxed/simple; bh=WCkcRmOvKCN0p1ta4UbfV67TRyGNUJEAQDBNKEZNPOc=; h=DKIM-Signature:Message-ID:Date:Subject:To:From:MIME-Version; b=NYLt7wIzD4+sYReWxLHs4l9OFtd7CYQqM9Voz+sKxgAujIp8WEsdPMSGyWpMmS9Fq07Q60sn7CDDr7xOuVHA7tajSXj963QpZPqyg1xk2ebmeJKfeiRPMVwTBy9oN68+0n1IFy4O997JlIwCuUkMkGbRcT3lo33MsUX079R4mD0= ARC-Authentication-Results: i=2; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 808D64BA23E0 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=T1y3Lfp7jLjWiBnosazKhL36z+BS9oz2qvCYwrm1iDFTC6v3xjK5AA7DOaix776ijLuvqIFmlDwFGjswG+mJwxmHk3uLnSNjVv+qY4dW8B2BnEge0g/yxvcwtfnSsdQALe2s8cbHnTmINb4SoWiqLx+jR3xkc636xSyoiv4ecMc/8tbKHIhlAU0hgN9iZ1oyDvjycp4H329UdqRzjv7eoZrMPQXIrxXwh9LrVi+WLxuT0+XqgqefEjXjMLQr3EnDFL1KlYQe/v3ILFaxUVlw055hy4WNVdLJZ6jv7EtzuY4Sir5wkqxgoYAcMCDLuq11dqEJ2NcJU6FKkANpy5JB/Q== 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=Sf7mosM8o33c4WcLbU3VzlWPwnUXsQyhXn+S75uVhrU=; b=DY54Oat7Rzhmcxq/x2DeLWajdRMr7I2wnfvNJEFEKdnFFdWYoaQNUIkPy3SglmRqZ14BXgMbQJxaseAHCyqOxWLyBl6vRzMt2253hFtZM2gFPXys9kCgf2aPm3r+t7EKbPweL4Bht5Ld3c75RsUo7zAF6ESIU1ipgKNDxULNB8tN73THzWQpYs/CuxGShDgglXxn418A28bR40gb/o582d1MkDmBGxm1fD8ZlPKwg4UdUOkRZuTCI+4+57TwjCX2RE6e+hJW1W018f1i05yRR2zU3GpmRq9SE7UHl7W98RYDHT3OBE/RyFsgPomyNV1ZkrAFYPwGb9iCuIdDWAh8Rw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=efficios.com; dmarc=pass action=none header.from=efficios.com; dkim=pass header.d=efficios.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=efficios.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Sf7mosM8o33c4WcLbU3VzlWPwnUXsQyhXn+S75uVhrU=; b=AQmdwV39jj2BClyK0tASVMG66W/ElLCfHxF11RJJ9SlUYNS5Ga/DzDiCvvthB+pNcT8uPv6l+ibqH4TG4MJ/uJoCdB7Ckm5ax4JXRDMRVTiSLCjvVvHkcPi0O2UKBd5e9ztkPRnfRPJcmz6RFyIpSWKdtj7PLFYZ08SzouHSXFjE2yOGsmpgEgE8kCfn+yE7o91WMWa+zeMTTuxnUNW//Ufhmlm1L9lZZWpccaQjz0IEJHy2aewn1AJS03p5cCQsIro4/UY4HmXSDGq1aojkBitmWN2ifMVejFw0b2H7n3G8lNTyz5AOW+6hW2JNFcWXTfd6nvLcpjpdZvr/+Ektdw== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=efficios.com; Received: from YQXPR01MB5418.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:c01:2c::6) by YQBPR0101MB5910.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:c01:32::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9632.17; Sat, 21 Feb 2026 00:58:22 +0000 Received: from YQXPR01MB5418.CANPRD01.PROD.OUTLOOK.COM ([fe80::bbfa:179f:fdc8:b15d]) by YQXPR01MB5418.CANPRD01.PROD.OUTLOOK.COM ([fe80::bbfa:179f:fdc8:b15d%5]) with mapi id 15.20.9632.017; Sat, 21 Feb 2026 00:58:21 +0000 Message-ID: <624018cf-a16d-46b8-8782-455d6023894a@efficios.com> Date: Fri, 20 Feb 2026 19:58:12 -0500 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH 1/3] gdbsupport: add gdb::enumerate util To: Tom Tromey Cc: gdb-patches@sourceware.org, Simon Marchi References: <20260220202002.860008-1-simon.marchi@efficios.com> <87zf53ywe8.fsf@tromey.com> Content-Language: en-US From: Simon Marchi In-Reply-To: <87zf53ywe8.fsf@tromey.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-ClientProxiedBy: YQBPR0101CA0266.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:c01:68::31) To YQXPR01MB5418.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:c01:2c::6) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: YQXPR01MB5418:EE_|YQBPR0101MB5910:EE_ X-MS-Office365-Filtering-Correlation-Id: 0ed12fa9-4449-4654-e434-08de70e44efc X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|376014|1800799024; X-Microsoft-Antispam-Message-Info: =?utf-8?B?ak5lck1EelA3L1hpcFprM0R2Y1FEUDNjejJQNVd6M3ZVQWNia0tjSmJ0NXVk?= =?utf-8?B?ZVVJU3RVU3hJZUpUTURoNU1OZ3owQWhpVnkxRERwclNCMm0zdFZGRzgxQ1BH?= =?utf-8?B?MkFXTUNmWUpYNjk3bFVMR3VjZXpPU25YMGdlM0V6cTh1R1F2Y0tySzg1cW1W?= =?utf-8?B?UnpTMzJpdnF6ODZGN2hFbjA1Mmh2c2J1WG54WjJVbkNxOUdCVjlKeFR5QzZr?= =?utf-8?B?SWRnOTU4ZXBTU0FvY1BtMUtQRytNcS9jeE83REVXc0kxL3lUZEVUNnBrSUdO?= =?utf-8?B?T2Y5Zi9hNFN1SXZ4d0dSUStCOTJNY05va3lwOFJMMFBVZnJLdEtMNE1DSzY0?= =?utf-8?B?eDVmYlRlNWVpc1VmTnFOb0wxR0hZVDIwVUo5YStKbkJuOHdpaCtSUmZlOEdo?= =?utf-8?B?KzhNUytZUGhsL2x2V3hkVFFrOGNTK0pzSVFOdWErV3hvZkZuS2lYKzdxSjRH?= =?utf-8?B?RkxQMHBlbnp0WjZQUkZ0K1FUcGlqSFgxYmhocVpyVGQzaWp1d1gyei9yV3lt?= =?utf-8?B?WlY5YjlyS2s2NmtES2ZxQ05ZZjdQY0tzdG5RVU5lc1hid1ZVZHVNYVVDcjZo?= =?utf-8?B?c3d1OHB3aUZSL3ZqNzhrdkpUV3BLbVhDZTNBUW9wbWRBcFpnSFp3cFBSODFZ?= =?utf-8?B?L3E0azJpcjBoNEFYSFR6Z0QyMmtqY3VDMFA2WnRGKzJxYnJ0MUo0SnVodnlB?= =?utf-8?B?SVdpUUJKQWFYQmZGTmhJajduNnJMaW9qQzB1SHVrdVBpNGVaenVZN3pSVFBj?= =?utf-8?B?b20rR2t4cVQ1bU16OGVmRzJkZm9lQzNNOTJQcmZSdDZBUHk3OVBSRWYrcnlh?= =?utf-8?B?MmlyY2tPeU05UFNNWDRvZmlmWFR5NjVacFhVWXczTHdWL3BhM0tmaDRaRlFm?= =?utf-8?B?UFBHWEVUZTdGSm05emdoOTVWM0lWQmVnZnJpUlVySG96Q29WakN2eXBKcXR0?= =?utf-8?B?cjRqOFlIcTJPeVBCQkl6MVdqOEQyalpSU2QrMXRHRG9teCt0MUlvN21qeHVu?= =?utf-8?B?VU1zcjVtbjlVSXcyQWZKT2VhdDBxeVlUb0NxTDhTZUNSMkJWZFoyVjFmQ2pF?= =?utf-8?B?eW4yY2kyMXQxY2lTUFh5bmQvdERKWXhpTlFlcFpPTHdOOW1CbmpCMXkrdVZh?= =?utf-8?B?YW1FUyttVVNUamgyTG1yMkU5a0NvU015NmQzYjVwS1NZQytiZHJtTEZOaHNP?= =?utf-8?B?dzd2eUpmUGl1akg2VTI4djg2L1lVWVpYRUFCVUFqY1NSNjhoMFdjbXdXSWpC?= =?utf-8?B?MGxsUHFLNEpzVzh4YXd3Z0ZLaGxHZUUraEVjS1VsWnlKUm12NS9rWGM3SXZ5?= =?utf-8?B?dURvRDI2ZkNjZnFKeWdJNmVPVjM1YUZpMnppM1FnMklHZjdLUDdtM1FUaWMv?= =?utf-8?B?ZUk4bW9wUzhpeG5EMVFvSEpXbUkyREhNUnBpcU85UjZiU2RKM1ZDWTVrNEkx?= =?utf-8?B?UWxGY1A5QjhqWmoxU2VlTzJEclRYcllOazZnV3h0VFZrNUlJZVdWSGFnRnB6?= =?utf-8?B?TmFYbUYwNnVSNjZBRTl2VDZkaXVyYmxsYzhDTlpyMThKcjRDMk91cXI5RUE0?= =?utf-8?B?OUVEQ1Z5Y3ZwSUF3TXVPRi9FbkxsVGZPNGliQis0ZWtWQWdaSXJCN09rS1Bu?= =?utf-8?B?VlZENnVwdXRBMkFWZWNSVTIvZGZ4em4rT3pUTHlnK0kwWSt0V3llNmZvWnlW?= =?utf-8?B?UHYwdzRreVpsaGlOc29XU1JSTldkcG9jZDYrbFNZaUp2aHNiemtpaHlMbVdn?= =?utf-8?B?YnRYNGhFRHFlQVVWRG1iaHBvbDU5REdzTWYwcUVSOVNEVXYvazNSdDdKSjF2?= =?utf-8?B?MmVMTXEwQ0tEU3liN1lOeHNwZDhQakFSaWpTTE1wVk5ZcTEwdFJRY05rZmd0?= =?utf-8?B?Nm1VZndOR2VOUS9CQVdDTmxBNGRtazVOeXU5bHkxTTFKSzZjbzRBUnh0RThl?= =?utf-8?B?STQrbGRUMGZvaGJTVlpONkxEdVNnZlQwZFEwalJkYnRMeW1Kd0lLUy9OTlFm?= =?utf-8?B?WkI3SzU4L09hZEdwZU40NVA0NWdlVEpZUG5UaHhIOWwwRTlBdkN5Vmd4Z3Ur?= =?utf-8?Q?etEAEl?= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:YQXPR01MB5418.CANPRD01.PROD.OUTLOOK.COM; PTR:; CAT:NONE; SFS:(13230040)(366016)(376014)(1800799024); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?NDcxRXZVa2trbXdEWENjOWVXZDg3ZGhYUDlKOVpJY3N3MHlMTlVKRWI4MENh?= =?utf-8?B?VWlselhCWjg5b1hxZTdDTGZpbWczQ01nc3AxMzRsVmRkOUcvc3dKSHdETmJV?= =?utf-8?B?ZEVTeFdvRTFmWUV6eDUzcWtoanhhRWdUSXJhcEhoMnR0U001Y1I3ZzR3K3U5?= =?utf-8?B?VzZxbHpwRUV1R1JzbWhFTXJzcXFNWnNPS2RJYnFJTEsrMlNFb0xka0xpSG1O?= =?utf-8?B?OEtBaU1jSm9TclhqK1cyeEpNRVVYRm5VcUFYZDhDYWZoa3FlRXliT3BoSHVX?= =?utf-8?B?SnNKL1lxejZzRlE0a1ExYWpVY3E5M2VMM1dUaTV1cVFnTTh1YUdJenJjNmpI?= =?utf-8?B?Qm1OUjh0VHNnYkxUK01WejRhTHFiWjlCcU50VHR4eW9PamV1OHZjSGFuRnJM?= =?utf-8?B?c3hoeVdIdzlsOVFzcnlmdnJZY1BhYjhhUVA5dC9QNFE0eVBaSUF4bDJUZXd5?= =?utf-8?B?SXAyY2ZsbU5MdW9VL3BzMDc2QXl6dnhHbTB1dEFPYUJ4UXRKRTkwVnNzRHV6?= =?utf-8?B?ZEh1WExHRzRNYUFlUlhIOGpGd2FwKzJuQUxYTTdSYkYxb1VNeDRKcjduU2hH?= =?utf-8?B?dTBwMGF3a2FySXVOVVNLR0FFajl4QU56VFJHNloyMGZIZlpUN2hrZWJZQVMy?= =?utf-8?B?WUVobHBZYVJqeXVCQ052a1NaT1RFTWNDbHo4UzBmaU9JZFhXVjgvMWtNZ3Vu?= =?utf-8?B?NG8wYnJ5UHJpM2oyL0xkRjJBZHp1aU5acHQ5cHRyd3NBNWNaSmh2OFdydnh3?= =?utf-8?B?S28wOGZmc3M1Rk1zaEVqOUZCUkVPL1FGbDcvMThWWWcxVGJJbVJGeTFocU5G?= =?utf-8?B?SHV1dVltYk03UVVReDhqcDJkNWdLS1BoZU1VMkRWTkxJNE9GSXBFT000cHJw?= =?utf-8?B?SXE2eDBDRHNDcmFuWXBGQXVrYU5iV2dUZmhUTm9nSkdoMHlaaEphSlJYS0Mx?= =?utf-8?B?Q0lwNXRLN3JpRXRkNVlyalNCYlhYWWZkNW03Q01hRGIwdDFHdTQyMHZTamxz?= =?utf-8?B?aHJZcnN3T0E1WUhvY21qSlpkWWhHMXI1L3AzYlk3Vlc3THM0eTB1U2c0WkN1?= =?utf-8?B?cWNUQjRaZnhCU0p5SlhuYWs3dzhpK3pVVHh2b25tdjFNbEFtNTVuRHpOYzFj?= =?utf-8?B?TlNUNVVvamZQQ2hNWkRWZUFUSFVZM0NzL1hDcEVncXN2WjVFSWdnYkxUa3RE?= =?utf-8?B?VytxS3hkQXg4V2NYaDZseTROTzNwU1lORm02dWRuNUpmU3M5YTY5UGo0cVFL?= =?utf-8?B?U3RveTVYN2QrbmoxWTFnQXQxR3NIZ2ZzcFdONGQxcDJ3ZG96cFJORnhJZU14?= =?utf-8?B?YVdKSHhnWjhpVUtzb0VvUGVabCtIZmt0SEVUSHI4bGxMRWVuKy9sSVEyNkRV?= =?utf-8?B?YlRYZnNvM2dmUXp3KzZJZHhodGxqNllNK2ZLbDQ5TGQ0SXEyakRFSGtBYmJi?= =?utf-8?B?Zkdjb3YxUXg1V1g2TGYwTGo1SmtpUWhkYTE5L2lsZDlLNEpUbDBzVXJaK25v?= =?utf-8?B?KzdlUnNDakdmY2FFTEcrcThhRG1kZC8rV3U3Y1h1VmMxSnpFaFdqaEJPN1FL?= =?utf-8?B?Rm5NSVIzeWc4ZUZxZUxYNTc3VGEwMFpTbXZXckQrUGtEaDM0S0J6a2wzUHQv?= =?utf-8?B?Q1JPaEV1ZjlaNXluS2tZTENmck5tQWRIWTBZc21wZkhGbkxxVkd4OGlLMGZ4?= =?utf-8?B?R2RlWEpPdGU5Nm92TVJpLzdIUjRUR0ZycThlanRzQXpTWithVDE2NW45bjRZ?= =?utf-8?B?REhxTGhpQk5kYU81amhDcCtmaW1SQ0k1Ymwwd3k3UGdnWmpFaTcvY1FISXBq?= =?utf-8?B?akVIMEtpNmUxMWNvNlI0WjlqeC8wU3NGajl1SjF6bmNWZ0pFaktwWXFTQzc3?= =?utf-8?B?Z1g2UmpaRUFwR3RCWm4zbG5PVG5Oc2dySU42c2xQMnd2Z2haSEJoOHg0ZHdY?= =?utf-8?B?VGhEa0xCVDBTYWZaRFNNMUJESHZ6QmhPSEZYV2pTVUhlNUZHdVdZdk44NUcr?= =?utf-8?B?bFBUZTEwVHhXWkFwTjNLMENBc1FNSU9pZWhnMzhVYnZHeDVlY1hMUDNXTms2?= =?utf-8?B?K0RiRkhtaHE2QUc4MFRKMDhKbkNqRXR4U3BqbzlhVld3NFVvOXdUMGs2RzdO?= =?utf-8?B?bDJ3S3BzaEpyQW1sVkx2V3ZZS0FFaFNnWEc3ZUlOWVgxZk90SjdqdDBsVFpO?= =?utf-8?B?a0tyWCt5SEp5bFR3SktiMnNvdCtqaUJId241VFF5N3JxZExtS3doRUJ6eGVi?= =?utf-8?B?ak9WNTdqRG9jMjB0Z0h6UGxmbFFzS2h4TVcrdHJ2ejMyWjJqb2FHRllmMk9x?= =?utf-8?B?L2RSVVVNbmpDMkUxKzdDcWRWSFhORXZnOUNtZ2VmNzBpdjQxTVVpUT09?= X-OriginatorOrg: efficios.com X-MS-Exchange-CrossTenant-Network-Message-Id: 0ed12fa9-4449-4654-e434-08de70e44efc X-MS-Exchange-CrossTenant-AuthSource: YQXPR01MB5418.CANPRD01.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Feb 2026 00:58:21.5499 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4f278736-4ab6-415c-957e-1f55336bd31e X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: PNR/tUzDdTC8f7amuQEu1INKbcgm4cd98FDbkpU1ItjfZ0zq9up3ezeHNJUYEYRL6WZ4a2yJumf5sFUDIFaTrg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: YQBPR0101MB5910 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 2026-02-20 15:47, Tom Tromey wrote: >>>>>> "Simon" == Simon Marchi writes: > > Simon> From: Simon Marchi > Simon> Add a "enumerate" utility, that acts pretty much like Python's > Simon> enumerate(). It makes the code slightly nicer, for when you would > Simon> otherwise need to handle the counter by hand. > > Very handy. > > Simon> +namespace gdb > Simon> +{ > Simon> + > > I suggest adding more namespaces and calling this > gdb::ranges::views::enumerate. Then when gdb uses C++23, we can perhaps > just s/gdb/std/ and not reformat everything. > > https://en.cppreference.com/w/cpp/ranges/enumerate_view.html > > ... in particular note (2) > > I guess we could go the other way but I tend to think it's better in the > end to just use the standard names and not supply renamings of things. I don't have a strong opinion about this, but I don't mind doing as you propose. It's just unfortunate that `gdb::ranges::views::enumerate` is a bit verbose for nothing, but if this is what we'll have to use when we get to C++23, then so be it. Perhaps we will have increased the 80 character limit by then, who knows. > Simon> +template > Simon> +struct enumerated_element > Simon> +{ > Simon> + std::size_t index; > Simon> + T value; > Simon> +}; > > C++23 uses a tuple here. > > It also uses a reference but I am not sure if that matters for us. In my version it's also a reference because of: using value_type = enumerated_element ::reference>; We want it to be a reference in most cases, to avoid copying the value. I can try to use a tuple. It will probably not make a big difference, because I expect all uses to use structured bindings: for ([i, v] : ...) Thanks, Simon