[{"id":35417,"web_url":"https://patchwork.libcamera.org/comment/35417/","msgid":"<20250814215807.GB6201@pendragon.ideasonboard.com>","date":"2025-08-14T21:58:07","subject":"Re: [PATCH v1] apps: common: options: Avoid copying in range based\n\tfor loop","submitter":{"id":2,"url":"https://patchwork.libcamera.org/api/people/2/","name":"Laurent Pinchart","email":"laurent.pinchart@ideasonboard.com"},"content":"On Thu, Aug 14, 2025 at 05:14:20PM +0200, Barnabás Pőcze wrote:\n> The copy can trigger `-Wrange-loop-construct`, so use a reference\n> to avoid the warning.\n\nIt's not just about the warning, using a reference avoids a copy, which\nis also more efficient.\n\n> Signed-off-by: Barnabás Pőcze <barnabas.pocze@ideasonboard.com>\n\nReviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\n\n> ---\n>  src/apps/common/options.cpp | 2 +-\n>  1 file changed, 1 insertion(+), 1 deletion(-)\n> \n> diff --git a/src/apps/common/options.cpp b/src/apps/common/options.cpp\n> index cae193cc4..b4ea1afe2 100644\n> --- a/src/apps/common/options.cpp\n> +++ b/src/apps/common/options.cpp\n> @@ -887,7 +887,7 @@ OptionsParser::Options OptionsParser::parse(int argc, char **argv)\n>  \n>  \tshortOptions[ids++] = ':';\n>  \n> -\tfor (const auto [opt, option] : optionsMap_) {\n> +\tfor (const auto &[opt, option] : optionsMap_) {\n>  \t\tif (option->hasShortOption()) {\n>  \t\t\tshortOptions[ids++] = opt;\n>  \t\t\tif (option->argument != ArgumentNone)","headers":{"Return-Path":"<libcamera-devel-bounces@lists.libcamera.org>","X-Original-To":"parsemail@patchwork.libcamera.org","Delivered-To":"parsemail@patchwork.libcamera.org","Received":["from lancelot.ideasonboard.com (lancelot.ideasonboard.com\n\t[92.243.16.209])\n\tby patchwork.libcamera.org (Postfix) with ESMTPS id 01876BEFBE\n\tfor <parsemail@patchwork.libcamera.org>;\n\tThu, 14 Aug 2025 21:58:29 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 5263269247;\n\tThu, 14 Aug 2025 23:58:28 +0200 (CEST)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 4824061444\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tThu, 14 Aug 2025 23:58:27 +0200 (CEST)","from pendragon.ideasonboard.com (81-175-209-231.bb.dnainternet.fi\n\t[81.175.209.231])\n\tby perceval.ideasonboard.com (Postfix) with UTF8SMTPSA id 94FF6E9B;\n\tThu, 14 Aug 2025 23:57:32 +0200 (CEST)"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key;\n\tunprotected) header.d=ideasonboard.com header.i=@ideasonboard.com\n\theader.b=\"a5hx5qEX\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1755208652;\n\tbh=TySGorTD23owdG8qgBQI8R/flVroRbAKpcF+U3MHe8k=;\n\th=Date:From:To:Cc:Subject:References:In-Reply-To:From;\n\tb=a5hx5qEXNC0zyun7Ts/FP/Y4ewLZxHjuDlWmw2bKQtgqOVm5xUdqMo2fDqL4t4Kdn\n\tZMnnLux1ljQ8EZ9d14iRnfVCsJjR3otw1LTEPRsA7TVUL6gdt7YCNOGTPcHjnLHyDt\n\tplygVbLfs6jFexkBL83CgalsE8MQNftZ5fPv2YCo=","Date":"Fri, 15 Aug 2025 00:58:07 +0300","From":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","To":"=?utf-8?q?Barnab=C3=A1s_P=C5=91cze?= <barnabas.pocze@ideasonboard.com>","Cc":"libcamera-devel@lists.libcamera.org","Subject":"Re: [PATCH v1] apps: common: options: Avoid copying in range based\n\tfor loop","Message-ID":"<20250814215807.GB6201@pendragon.ideasonboard.com>","References":"<20250814151420.2119927-1-barnabas.pocze@ideasonboard.com>","MIME-Version":"1.0","Content-Type":"text/plain; charset=utf-8","Content-Disposition":"inline","Content-Transfer-Encoding":"8bit","In-Reply-To":"<20250814151420.2119927-1-barnabas.pocze@ideasonboard.com>","X-BeenThere":"libcamera-devel@lists.libcamera.org","X-Mailman-Version":"2.1.29","Precedence":"list","List-Id":"<libcamera-devel.lists.libcamera.org>","List-Unsubscribe":"<https://lists.libcamera.org/options/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=unsubscribe>","List-Archive":"<https://lists.libcamera.org/pipermail/libcamera-devel/>","List-Post":"<mailto:libcamera-devel@lists.libcamera.org>","List-Help":"<mailto:libcamera-devel-request@lists.libcamera.org?subject=help>","List-Subscribe":"<https://lists.libcamera.org/listinfo/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=subscribe>","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}},{"id":35430,"web_url":"https://patchwork.libcamera.org/comment/35430/","msgid":"<175524964599.560048.18425761782166257283@ping.linuxembedded.co.uk>","date":"2025-08-15T09:20:45","subject":"Re: [PATCH v1] apps: common: options: Avoid copying in range based\n\tfor loop","submitter":{"id":4,"url":"https://patchwork.libcamera.org/api/people/4/","name":"Kieran Bingham","email":"kieran.bingham@ideasonboard.com"},"content":"Quoting Barnabás Pőcze (2025-08-14 16:14:20)\n> The copy can trigger `-Wrange-loop-construct`, so use a reference\n> to avoid the warning.\n> \n> Signed-off-by: Barnabás Pőcze <barnabas.pocze@ideasonboard.com>\n\nReviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>\n\n> ---\n>  src/apps/common/options.cpp | 2 +-\n>  1 file changed, 1 insertion(+), 1 deletion(-)\n> \n> diff --git a/src/apps/common/options.cpp b/src/apps/common/options.cpp\n> index cae193cc4..b4ea1afe2 100644\n> --- a/src/apps/common/options.cpp\n> +++ b/src/apps/common/options.cpp\n> @@ -887,7 +887,7 @@ OptionsParser::Options OptionsParser::parse(int argc, char **argv)\n>  \n>         shortOptions[ids++] = ':';\n>  \n> -       for (const auto [opt, option] : optionsMap_) {\n> +       for (const auto &[opt, option] : optionsMap_) {\n>                 if (option->hasShortOption()) {\n>                         shortOptions[ids++] = opt;\n>                         if (option->argument != ArgumentNone)\n> -- \n> 2.50.1\n>","headers":{"Return-Path":"<libcamera-devel-bounces@lists.libcamera.org>","X-Original-To":"parsemail@patchwork.libcamera.org","Delivered-To":"parsemail@patchwork.libcamera.org","Received":["from lancelot.ideasonboard.com (lancelot.ideasonboard.com\n\t[92.243.16.209])\n\tby patchwork.libcamera.org (Postfix) with ESMTPS id 9D56ABDCC1\n\tfor <parsemail@patchwork.libcamera.org>;\n\tFri, 15 Aug 2025 09:20:52 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 789AB69257;\n\tFri, 15 Aug 2025 11:20:51 +0200 (CEST)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[IPv6:2001:4b98:dc2:55:216:3eff:fef7:d647])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id DE99069244\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tFri, 15 Aug 2025 11:20:48 +0200 (CEST)","from pendragon.ideasonboard.com\n\t(cpc89244-aztw30-2-0-cust6594.18-1.cable.virginm.net [86.31.185.195])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id EEF2E63B;\n\tFri, 15 Aug 2025 11:19:53 +0200 (CEST)"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key;\n\tunprotected) header.d=ideasonboard.com header.i=@ideasonboard.com\n\theader.b=\"iafeb5M5\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1755249594;\n\tbh=Q96cEwO5ACNWlWXSWOWfnXWD0ApH05XxZkW68KIRrno=;\n\th=In-Reply-To:References:Subject:From:To:Date:From;\n\tb=iafeb5M53YqzUzvcB91vwhpQPeLiyZIJ5i2+K2vYg++noZQgSV31qIVQAQJoaM+J4\n\tMKPu1cf5AzJ7jWes3+hRpgBDEPZZ5e/PPIPGOVOZGIPC8JDPgQkFJZ8N+J+LrFnUNF\n\tAUZSxez/RwM4gN1m8wvubwu+4cagd/KmWAH/LSzw=","Content-Type":"text/plain; charset=\"utf-8\"","MIME-Version":"1.0","Content-Transfer-Encoding":"quoted-printable","In-Reply-To":"<20250814151420.2119927-1-barnabas.pocze@ideasonboard.com>","References":"<20250814151420.2119927-1-barnabas.pocze@ideasonboard.com>","Subject":"Re: [PATCH v1] apps: common: options: Avoid copying in range based\n\tfor loop","From":"Kieran Bingham <kieran.bingham@ideasonboard.com>","To":"=?utf-8?q?Barnab=C3=A1s_P=C5=91cze?= <barnabas.pocze@ideasonboard.com>,\n\tlibcamera-devel@lists.libcamera.org","Date":"Fri, 15 Aug 2025 10:20:45 +0100","Message-ID":"<175524964599.560048.18425761782166257283@ping.linuxembedded.co.uk>","User-Agent":"alot/0.9.1","X-BeenThere":"libcamera-devel@lists.libcamera.org","X-Mailman-Version":"2.1.29","Precedence":"list","List-Id":"<libcamera-devel.lists.libcamera.org>","List-Unsubscribe":"<https://lists.libcamera.org/options/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=unsubscribe>","List-Archive":"<https://lists.libcamera.org/pipermail/libcamera-devel/>","List-Post":"<mailto:libcamera-devel@lists.libcamera.org>","List-Help":"<mailto:libcamera-devel-request@lists.libcamera.org?subject=help>","List-Subscribe":"<https://lists.libcamera.org/listinfo/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=subscribe>","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}}]