From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from simark.ca by simark.ca with LMTP id MhU0D6TqsWhjeA8AWB0awg (envelope-from ) for ; Fri, 29 Aug 2025 14:00:04 -0400 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=KPoNpI2a; dkim-atps=neutral Received: by simark.ca (Postfix, from userid 112) id 1DDF21E04C; Fri, 29 Aug 2025 14:00:04 -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=ham autolearn_force=no version=4.0.1 Received: from server2.sourceware.org (server2.sourceware.org [8.43.85.97]) (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 0293B1E023 for ; Fri, 29 Aug 2025 14:00:02 -0400 (EDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 595E13858408 for ; Fri, 29 Aug 2025 18:00:02 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 595E13858408 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=KPoNpI2a Received: from YQZPR01CU011.outbound.protection.outlook.com (mail-canadaeastazlp170100000.outbound.protection.outlook.com [IPv6:2a01:111:f403:c104::]) by sourceware.org (Postfix) with ESMTPS id 470D93858286 for ; Fri, 29 Aug 2025 17:59:17 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 470D93858286 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 470D93858286 Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=2a01:111:f403:c104:: ARC-Seal: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1756490357; cv=pass; b=gDFT4Awgl+qO4kuU1OKqvK27OgVX3FmsxWz9r1/CAt8Sub6z3AfBnBh/F2VHpK4qRvI6Onto9SCC26vqMG2YO+/Sml4DZsYagYL68zvj6l4HysHRlGXUzED7qQ6FI0UcWpZxE3Rdl8v0McPBxsVkwTVBk0GhUacjsoVgvWS48K0= ARC-Message-Signature: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1756490357; c=relaxed/simple; bh=74Lk4dTa4DAaETFh0b/kG9JP7gk33cjdSM/4rBBZdLo=; h=DKIM-Signature:Message-ID:Date:Subject:To:From:MIME-Version; b=Htl+85HGKWqn8FayDms/iUJ2DWw/StXmFnyzFHbJf2vEXznxqLC4no0sfOJINMQ2DlfRjsYqNrpltH53ZGYpKknuuhOH0IF8xP6y6stgtgVOswWfA231Q/5u/cMgQD/wdDBxHEcIYGhhrlDEuRsa4lx4FuWpZX6O0Sy60Zv/YTE= ARC-Authentication-Results: i=2; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 470D93858286 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=o6MuyI4OA2atbVSsNPPDUp10wF0dF0IdXv7Odb3dQnFDkWsgl4iUqGKv8MfFEZ/NG+f9JcOnMlsdF9mO9Rgs0c3zil2DZxYezLS2TpA9B9LXsGpPrkYNUfInME4h7+B2ZJqA8pqGZZb3SrrC8uQo26PWkSBhGyih+WLmUV6fC8PR6Fqc3aLecY9gCRgkge/r0tRMIsqU/gvNUiEuCptYc51ouYPumQBWT1CFjfofoehhXYXaJd0Zj27dZq6EIBhLI/uowBnGWJnzTw8HRYeB6rjAmggNwqKSJVzbTqJ5jqXpdPxyzzGiS4rykOprOjCW7sMG47w9p9SCfWK4ev5z0A== 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=UrG1MxqqvBpFir6Fx9BfKOM5LCYi+Chw7W/XKz4sDGE=; b=RgWIeRHqtUwuMuWWIxm1gORH2V7LKR4l7MRdxa5lmRJSvjsA+RGnGYS5r/OgNwwSnIMg2OzO/mcggNpgFaudPHPgweFz/WuBuNAQtO3WxPtSM/FAfDLg4iZCi3mjoJsE7qKODboG8mCuU7OYQoy6uYM5YfEZZeW2VeAv+xz3sB0zo4XRGWUmEEGOZCsf3nWkv2MOzSBN8GkgaQf8n3+Mro29k4SlDjGzB2Zok5VGUpeAVFOlcjINLOJmn1FwjBYUi+tIvMXkBPszJ5f47TaNEeiJqIKS9EcRUnhxA/CpyMj4KnKnKfCa9nDVMDYg+kuHdtjJanHDqCGzfmvVBuZ9Iw== 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=UrG1MxqqvBpFir6Fx9BfKOM5LCYi+Chw7W/XKz4sDGE=; b=KPoNpI2aGMiys1eh/saxteUcJKzJKxLC/Tm4pRDN+EmUydAR5p0/GXm+83Lr5vFTIax1Tm+9u/2qgZtVJ35aEj2dY+UxEgIRGAPkQmlT3loLBX00nAM+gohTnZQBl1Rx2PEJ8SOBW8dPgSRfmh/K245bTBF3w/d4sWAXI7Kl3acCKeASITlzd3TWH1qf8NQ3tcabdydhG8bvM1sTswtWogLYT2W9+COXw9ae+YRT+mxfSDGpwNXYNBvuPkI5qfvrHx5A8v6JM8i5vsxB5FfIxX8LyWnSwGP6mET3bEMuC7f+Ls7zUdegwYyh8GZmheS4qGF1VJWEo174DXQXqoD7HA== 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 YQBPR0101MB6181.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:c01:35::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9073.18; Fri, 29 Aug 2025 17:59:09 +0000 Received: from YQXPR01MB5418.CANPRD01.PROD.OUTLOOK.COM ([fe80::1e89:d520:630a:7d86]) by YQXPR01MB5418.CANPRD01.PROD.OUTLOOK.COM ([fe80::1e89:d520:630a:7d86%2]) with mapi id 15.20.9073.021; Fri, 29 Aug 2025 17:59:09 +0000 Message-ID: <6052cd97-efc5-457d-86d2-f600e953ef3c@efficios.com> Date: Fri, 29 Aug 2025 13:59:08 -0400 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH 2/3] gdbsupport: make filtered_iterator work with pointers To: Tom Tromey Cc: gdb-patches@sourceware.org References: <20250828151100.84594-1-simon.marchi@efficios.com> <20250828151100.84594-2-simon.marchi@efficios.com> <875xe6utyx.fsf@tromey.com> Content-Language: en-US From: Simon Marchi In-Reply-To: <875xe6utyx.fsf@tromey.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-ClientProxiedBy: YQZPR01CA0135.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:c01:87::8) To YQXPR01MB5418.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:c01:2c::6) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: YQXPR01MB5418:EE_|YQBPR0101MB6181:EE_ X-MS-Office365-Filtering-Correlation-Id: 57159763-2838-49f1-725e-08dde725c09b X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|366016|376014; X-Microsoft-Antispam-Message-Info: =?utf-8?B?OUZkbHIvZkdNME5RaU1OTmIwRFc5blhOU3c0S1ZOQngwUXlmRDNxSm1rUW5H?= =?utf-8?B?WmN5bVl1blJ2ZWd6UEpOeXRiZDVOcDhFMUhUeERMTldNeEZJTW5ncEYrK2VS?= =?utf-8?B?aG9Idzd3R2MzZTlQRDBUZjVTK3JaOFBOekJFb0pOSW52WnJDc3JNdWVQdEwv?= =?utf-8?B?RkxMRlR0WDlyTlU2YmN4dzZBY0dpY0laSE51SkRFcjFoQnowUGZhMXJLSXBz?= =?utf-8?B?UG9LSE1Td09mYmZxRFBqV2tFVHBicDd4K2VTOWk2M2JjaHZaOFlFcWlmYWRF?= =?utf-8?B?eklhUW9OeFZ5QkZYaVlTejk0NXcyRWF5cm45TlNpL1pyZXA2R0VCR1VOcFJQ?= =?utf-8?B?MEdXN3UyZEZWTGdEam5lQllMdWZjVlZFQlAzakVIZDJUTyt0M1BMdzk5aE5Z?= =?utf-8?B?cThubHRBY0VPd3hLUkZBZE9SU3Q3YU9ObmxnSEtoaGgzd2ZVYXRsVzBSbTVz?= =?utf-8?B?a054UkdxQ0xkRjd5bDNDbjhvLzlNclFtUFVVNXpyek5YM3laS3M0RzhuVDM0?= =?utf-8?B?K2hQQXJpRjNpbjVFbzN4c0ZqdkJjSHRvRzR3SFppSjFpY3gvWTJDWGRmeEcw?= =?utf-8?B?NUpkdSt6ZmJxVUdQYTRKZEVrY1VGNFhOMEFGSlhkZi9kYXhnSHh3bERuQUdM?= =?utf-8?B?NzBidHY4a3JOZ1BNQmNvSlVFOXBYVU8yTElFNXJxVC9GT01xT0dnQ25yRFdp?= =?utf-8?B?Vi9ycllrNjRyNFpQRVNhUlJ4YXZLNkRGRnFmNWZ2cHdScXBnbDlRSTFCVXdo?= =?utf-8?B?RTRLektCeEcyQmxxbVc4OGtzOWVHeEFtZTJhTEJudUJxTGRva01Cc3hBTFZp?= =?utf-8?B?ZWRqZ3I2aWRoc1IzbmJXczNBbE1MZVBaN3JQRk9PTTZnVjhlLzlNKzgrazNv?= =?utf-8?B?L3BTd1pSc0RlSG42VzdrbWMzQ0dVL2s3YVE5dG5Cb0JBN01DK1Y0OVZHQ01S?= =?utf-8?B?bEdYVWFkYmFwcGlMN0N0dG9BZkJNRjNROFpzeHlobThjK2kzcS94U3hPMUwv?= =?utf-8?B?L0NIYy9UWE5IL25TZFNLQWx3ZGVVajFXaVhOOGhTc2luVWU5ZGlnd1drbTd2?= =?utf-8?B?WVdRSzRvNURYWVBacHZoMGRscFJVdGNKRi9YM250Q2h6dE1EMG5EcnAxK29X?= =?utf-8?B?RExRVjFLY2VOUFRNTmNSSTdnYlN3eS9WY2dwZzJ0M1pHbDJiWnJSaFVjRmpy?= =?utf-8?B?azAwVCtDdDM0OEFEdG5OQTE0QUtKL29DZW5Ybm9NMDluMTFpUlNMeDBMUnFK?= =?utf-8?B?S1BvTEUra3YxdnlwZmFJMDM1QU9KRlJaQ3pHdkJIYnQxdDZGNjdOVlBnZkhu?= =?utf-8?B?V3FtYzF4N3pObkF1VHRqeHBiZDNqSTZvS3J5RWw2a0plR3pDdHkxSStndDRL?= =?utf-8?B?dDNpNUszTFNQaFpuRGZLcnBmaU92eTYrT3dLTDVWR04yU0NWYUhJUzV0Mmk4?= =?utf-8?B?alBYdEVrUkJNNEtFZkdyMFJnNUo0T1Vvb3ZIYy9GMXVVWjB4bFFZZE9MNWF4?= =?utf-8?B?U3hHcUc5c0FIeFYzekdTNFNJZDBlbFdMRDB2eTI1N29OcWJYUUpFU3RUMGVH?= =?utf-8?B?T3lDNzRSU0p1d1FBVWpHOENnQmp3YUtDNWtYOHkzVytDSnV4UjVKN2VMSm50?= =?utf-8?B?cGNYa3lyYXM4c1Q4SG9WNllLZGRPRmgxVDk4MjdHb1dMeG9YTzBPL2FaeTlG?= =?utf-8?B?TDl3QVJOVndjUjdNb1QvNmhrUzRFSkliNFdFVHV4Yk41UlM5MnJGaGw1eUVw?= =?utf-8?B?ZEpmL3lMZlIrTTFzZTJsS1lUV1hCNVNJVWF2WlM5ZXpncDNZdzNoYk5Qd1Yy?= =?utf-8?B?YjRYWGdmZytlL25xUXZITStseXdsQTNjTzFlbEEwZUp4MGFzcjByeXZjeXlm?= =?utf-8?B?cVIyN2tkZUZXd3UrMng0UjJtTiswOVVUUkp0ZjJRZmZrR0t6K1pBMDIvZ2Jx?= =?utf-8?Q?78LSr0xv+s8=3D?= 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)(1800799024)(366016)(376014); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?NFdhYkVjMktMNG0ydTEyVzdmMVl6Rkw2QmNlOUU0dTRjNWZCQ01oRnppOWhX?= =?utf-8?B?RVI4TkxReWNaSjVTamJrWnNBVDVSYU9ZUXNKY3ZqYU92Y0t4QVNPejQvV1Bk?= =?utf-8?B?Q2NpSmQ5WTJqaStzdVZ2eTYwS2EzcXFBZkp3RFdHM3lHanZQY2JHWHZWNXht?= =?utf-8?B?d0xMdFlmMVF1NVJla1lZSTZFYk1ibXY3VHZuNUtJWUxjT0V5dTEwc3h1d2JB?= =?utf-8?B?bndBdG5ySjMxTWdtdnFBVmVBdTYxREFNNGlnNjU2R0JIeXY3WHZCc3E0VG51?= =?utf-8?B?MGZRcFk3ZzZnLytNSjdZS2JUL3ZkTHNXZlFwbHgwVmFjdWJ3M2ZqOFlkdlcr?= =?utf-8?B?SXZFTVpRWm9WVjcvZGQ4MjZMT0cwell0TFB6cVBOQnZVSXhsQkoyTkplRVAw?= =?utf-8?B?bm9iRmVTV2NFN0hMb0tpZ042MzU0UlRJcExNQjVmWXp1YzFRQ2lJa1U3U2NK?= =?utf-8?B?anNXR0k5RXp5ZnFnc29PMi9kTGRseS91YTlBSk14NGJFTWNpQ1pXSFFmd29F?= =?utf-8?B?QllrcUlIRFpjLzMxRVFyZkNLSmFyRDBuR0xSV0FZQVpwbFdVUy9rcGFiK215?= =?utf-8?B?M0NIQjQ1Y1kxWERNOC94YTZHTUdoZ3ZwN2RQQjh2L2oyT29nbmpFVWRNUFdt?= =?utf-8?B?ckY5MkN6eFc0UHdTVUVkVnRwS1ExVmhpR3BqS2cyeXhJTHhCZ0VMcUV3SVo5?= =?utf-8?B?ZktXTmN1bzczVWRTb1B6OWhpSi84bW92YWlyR0NtTGRHQmJtNDNYbnQ2cFNF?= =?utf-8?B?bVQwcTE0bWszaWdyek0vYW11OFBZWmlycUo4K0pvTmIydVdHNGJpWjBSUEpy?= =?utf-8?B?dy94bGNENGYzQWpySmsrakIycldnSHVLNi9URXhRU1B4T3M0TUlpeldpS0Fz?= =?utf-8?B?OUFTM0gzZE45NTM5b3RBOWUxNlpZWlhubEdNZHFMZmRTbjZKOWpjcFQ0S3Z0?= =?utf-8?B?cWRuZE5PeCswT1VhVmFHM09YY21ONkEvY21VOFV5clI5RytVcThOejlPeTRI?= =?utf-8?B?SDIrRGpSbi8yMjZ2NTZqeTdXUkRlclpuQWQwWWZtVlRFMzZGK05jbXdHSkJQ?= =?utf-8?B?UHFTWUxwWnAyRzJMMHBCRlg1SHllMXY0VUZ6VnBOZWZ5czJxdFR4Vnd4dC9Q?= =?utf-8?B?WGRqRDYvYmgzbCt3M0g3c09QRTZYZDljckw3U3RuWXJ0MHFQUXZNTDZTUjZi?= =?utf-8?B?cjBBVCtXdFphM1NKeDFSTUgzQW9ZWkkvZFVtMmpMeEJwOHlVNUpLeDZxVnJI?= =?utf-8?B?cFZWZFIzOFpsaDR4cUlVKzFpRTMvZ21reGZVZGRodktQeUF4eW9KUnBtRmlZ?= =?utf-8?B?WjhUSWNoeVR2ZzZLZXRkSkIvSE5IWElnZVBXeFcvdEFqTTYwd1ExalN2YlVK?= =?utf-8?B?SFd2R1ljaUtEYnBjMWFTVGlWb1c2NlcvNWoycGFkbDg3RVFzOFNadlp2YTJx?= =?utf-8?B?T3F4YUtBcjdPdnc2NW5yU05FRnh4eWl4K3hWTDc0WUN4VHU0dUNJQjgyRWt0?= =?utf-8?B?WTNrakdyWWY1bWFoTjhhczMxT3dOdGVWeWhqTG9aMU5UMjNzVjBOeXl6ZjNy?= =?utf-8?B?Mm9uNzBqKzJhRmFoT3QvQW1lbkZjVnlrVE9zckdBYmRZRUNzNnBuUnR6VDk5?= =?utf-8?B?Vk8rWTBUdW9pVHc5eUNsalB2WkpiSjlWbHhzZERTQ3ZjMUo0dmthakY1TldC?= =?utf-8?B?ZkZPWnQ2Y0JkMjF4QTJWdGpmOFVFWlpBUWZEODE5bzNLMER4WVM0aW1HRTZy?= =?utf-8?B?T2xDVmRDak5zMFYrdnZhdm84MTNFOFBHaUlDZ1hSUU1Xb0k1dnEvWGxBV1pL?= =?utf-8?B?SHFna0ZWWXZYNUZscEdTV3NVUHVjRk1ON05Bb2V5eWExLy9MU2ptdVhPZ21n?= =?utf-8?B?bk1DbGFXK0J5dDI4cVcwTVZLUUhMd3Ardkh1aHFaMEUvNk9CZm1mZHNmQ1p4?= =?utf-8?B?Nmh0cnN3RVUzUzEyQnBSUEtVWDlJQVlqTUpTLzQrV2o0OXJBWFQvS1NsOFNY?= =?utf-8?B?aUNZTlE2aitsODREL2Jnckk1dWhXT0F3Y01MeG14b0tEYUF1SFdTUnZxdWFJ?= =?utf-8?B?M2lwa2ZocFNqUU9hUGNwMlhlSFp0WWtMUmZoWi9XR3pVOFh4NjZVTGtqYitl?= =?utf-8?Q?Gb3dMPqvdtEmW+/CAnt9jbUiO?= X-OriginatorOrg: efficios.com X-MS-Exchange-CrossTenant-Network-Message-Id: 57159763-2838-49f1-725e-08dde725c09b X-MS-Exchange-CrossTenant-AuthSource: YQXPR01MB5418.CANPRD01.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Aug 2025 17:59:09.0745 (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: fUGKEAJTiDOoiEEmYArJHHe6nSJin1VjebkMideWpfiA7FsF32EDrOz5hwzGh1Zk1hb5uwILreTzoo+wFS04rA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: YQBPR0101MB6181 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 2025-08-29 09:40, Tom Tromey wrote: > I also wonder what this constructor is even needed for since it seems > like a filtered iterator should just wrap an ordinary one anyway. To answer to that specifically: filtered_iterator needs to know the end in addition to the begin, so that it knows when to stop advancing, in operator++. The goal of these variadic constructors is so that you don't need to be explicit about all the iterator layers. To build a filtered_iterator, instead of writing: filtered_iterator (my_iterator (arg1, arg2)) You can write: filtered_iterator (arg1, arg2); In my experience, it has been very confusing to work with these iterators though. Compilation failures are hard to debug, like finding which of the N layers of iterator is not happy. The complicated template error messages certainly don't help. So I would propose to ditch all those, and just have explicit and straightforward constructors like the one I add in this patch. The code that uses these iterators will be more explicit and larger, but typically we only write it once in a factory function (e.g. all_threads). Simon