[{"id":19269,"web_url":"https://patchwork.libcamera.org/comment/19269/","msgid":"<26d15b64-3efb-05dc-56f9-64fdce5d9027@ideasonboard.com>","date":"2021-09-02T07:48:44","subject":"Re: [libcamera-devel] [RFC PATCH v1 01/12] libcamera: base: utils:\n\tUse size_t for index in utils::enumerate()","submitter":{"id":4,"url":"https://patchwork.libcamera.org/api/people/4/","name":"Kieran Bingham","email":"kieran.bingham@ideasonboard.com"},"content":"On 02/09/2021 05:22, Laurent Pinchart wrote:\n> The index generated by utils::enumerate() is an iteration counter, which\n> should thus be positive. Use std::size_t instead of the different_type\n> of the container.\n> \n> Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\n\nNo other changes required elsewhere?\nI guess that means the update is not particularly invasive, and the\nexisting users will be fine.\n\nGiven that looking at the recommended usage for this is with auto, I\nguess that means the type is automatically updated for those users:\n\nsrc/v4l2/v4l2_compat_manager.cpp:\n       for (auto [index, camera] : utils::enumerate(cameras)) {\n\nSo this looks fine.\n\nReviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>\n\n\n> ---\n>  include/libcamera/base/utils.h |  4 ++--\n>  test/utils.cpp                 | 10 +++++-----\n>  2 files changed, 7 insertions(+), 7 deletions(-)\n> \n> diff --git a/include/libcamera/base/utils.h b/include/libcamera/base/utils.h\n> index 52301254c2eb..2b761436a99f 100644\n> --- a/include/libcamera/base/utils.h\n> +++ b/include/libcamera/base/utils.h\n> @@ -246,7 +246,7 @@ private:\n>  \n>  public:\n>  \tusing difference_type = typename std::iterator_traits<Base>::difference_type;\n> -\tusing value_type = std::pair<const difference_type, base_reference>;\n> +\tusing value_type = std::pair<const std::size_t, base_reference>;\n>  \tusing pointer = value_type *;\n>  \tusing reference = value_type &;\n>  \tusing iterator_category = std::input_iterator_tag;\n> @@ -275,7 +275,7 @@ public:\n>  \n>  private:\n>  \tBase current_;\n> -\tdifference_type pos_;\n> +\tstd::size_t pos_;\n>  };\n>  \n>  template<typename Base>\n> diff --git a/test/utils.cpp b/test/utils.cpp\n> index d7f810e95e7a..d65467b5102c 100644\n> --- a/test/utils.cpp\n> +++ b/test/utils.cpp\n> @@ -77,8 +77,8 @@ protected:\n>  \n>  \tint testEnumerate()\n>  \t{\n> -\t\tstd::vector<int> integers{ 1, 2, 3, 4, 5 };\n> -\t\tint i = 0;\n> +\t\tstd::vector<unsigned int> integers{ 1, 2, 3, 4, 5 };\n> +\t\tunsigned int i = 0;\n>  \n>  \t\tfor (auto [index, value] : utils::enumerate(integers)) {\n>  \t\t\tif (index != i || value != i + 1) {\n> @@ -93,12 +93,12 @@ protected:\n>  \t\t\t++i;\n>  \t\t}\n>  \n> -\t\tif (integers != std::vector<int>{ 0, 1, 2, 3, 4 }) {\n> +\t\tif (integers != std::vector<unsigned int>{ 0, 1, 2, 3, 4 }) {\n>  \t\t\tcerr << \"Failed to modify container in enumerated range loop\" << endl;\n>  \t\t\treturn TestFail;\n>  \t\t}\n>  \n> -\t\tSpan<const int> span{ integers };\n> +\t\tSpan<const unsigned int> span{ integers };\n>  \t\ti = 0;\n>  \n>  \t\tfor (auto [index, value] : utils::enumerate(span)) {\n> @@ -112,7 +112,7 @@ protected:\n>  \t\t\t++i;\n>  \t\t}\n>  \n> -\t\tconst int array[] = { 0, 2, 4, 6, 8 };\n> +\t\tconst unsigned int array[] = { 0, 2, 4, 6, 8 };\n>  \t\ti = 0;\n>  \n>  \t\tfor (auto [index, value] : utils::enumerate(array)) {\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 95C28BD87D\n\tfor <parsemail@patchwork.libcamera.org>;\n\tThu,  2 Sep 2021 07:48:48 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 0B3DD6916D;\n\tThu,  2 Sep 2021 09:48:48 +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 6529560254\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tThu,  2 Sep 2021 09:48:47 +0200 (CEST)","from [192.168.0.20]\n\t(cpc89244-aztw30-2-0-cust3082.18-1.cable.virginm.net [86.31.172.11])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id EACE345E;\n\tThu,  2 Sep 2021 09:48:46 +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=\"cKSoOjJJ\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1630568927;\n\tbh=ZbsiFlchpvAtwYU2jUutJtOtw8Nq8oH+aDDuvUzhaMs=;\n\th=To:References:From:Subject:Date:In-Reply-To:From;\n\tb=cKSoOjJJUqCiH9EPgaaLhnU1uqlcZPHo05BTDEr7/rwuTy54DK3E/xmLuoL0lJ8l8\n\tSU5wEY1UPk8POosl8hPha74wyWmEgifp33PXP4wqDTdSBiwxHbwUiCgYYqp7siWDGi\n\txxZgcKNjyA67Iro5kzGfUJamEUyuO59IvpLmYm/k=","To":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>,\n\tlibcamera-devel@lists.libcamera.org","References":"<20210902042303.2254-1-laurent.pinchart@ideasonboard.com>\n\t<20210902042303.2254-2-laurent.pinchart@ideasonboard.com>","From":"Kieran Bingham <kieran.bingham@ideasonboard.com>","Message-ID":"<26d15b64-3efb-05dc-56f9-64fdce5d9027@ideasonboard.com>","Date":"Thu, 2 Sep 2021 08:48:44 +0100","User-Agent":"Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101\n\tThunderbird/78.11.0","MIME-Version":"1.0","In-Reply-To":"<20210902042303.2254-2-laurent.pinchart@ideasonboard.com>","Content-Type":"text/plain; charset=utf-8","Content-Language":"en-GB","Content-Transfer-Encoding":"8bit","Subject":"Re: [libcamera-devel] [RFC PATCH v1 01/12] libcamera: base: utils:\n\tUse size_t for index in utils::enumerate()","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":19271,"web_url":"https://patchwork.libcamera.org/comment/19271/","msgid":"<YTCLFD2/+lpmr8/7@pendragon.ideasonboard.com>","date":"2021-09-02T08:28:04","subject":"Re: [libcamera-devel] [RFC PATCH v1 01/12] libcamera: base: utils:\n\tUse size_t for index in utils::enumerate()","submitter":{"id":2,"url":"https://patchwork.libcamera.org/api/people/2/","name":"Laurent Pinchart","email":"laurent.pinchart@ideasonboard.com"},"content":"Hi Kieran,\n\nOn Thu, Sep 02, 2021 at 08:48:44AM +0100, Kieran Bingham wrote:\n> On 02/09/2021 05:22, Laurent Pinchart wrote:\n> > The index generated by utils::enumerate() is an iteration counter, which\n> > should thus be positive. Use std::size_t instead of the different_type\n> > of the container.\n> > \n> > Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\n> \n> No other changes required elsewhere?\n\nAs far as the compiler tells me :-)\n\n> I guess that means the update is not particularly invasive, and the\n> existing users will be fine.\n> \n> Given that looking at the recommended usage for this is with auto, I\n> guess that means the type is automatically updated for those users:\n> \n> src/v4l2/v4l2_compat_manager.cpp:\n>        for (auto [index, camera] : utils::enumerate(cameras)) {\n\nYes. It makes a difference when using index though, is comparing it to a\nsigned value will now produce a warning (hence the changes in the test).\nThere are no other usage of the variable that the compiler is unhappy\nabout.\n\n> So this looks fine.\n> \n> Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>\n> \n> > ---\n> >  include/libcamera/base/utils.h |  4 ++--\n> >  test/utils.cpp                 | 10 +++++-----\n> >  2 files changed, 7 insertions(+), 7 deletions(-)\n> > \n> > diff --git a/include/libcamera/base/utils.h b/include/libcamera/base/utils.h\n> > index 52301254c2eb..2b761436a99f 100644\n> > --- a/include/libcamera/base/utils.h\n> > +++ b/include/libcamera/base/utils.h\n> > @@ -246,7 +246,7 @@ private:\n> >  \n> >  public:\n> >  \tusing difference_type = typename std::iterator_traits<Base>::difference_type;\n> > -\tusing value_type = std::pair<const difference_type, base_reference>;\n> > +\tusing value_type = std::pair<const std::size_t, base_reference>;\n> >  \tusing pointer = value_type *;\n> >  \tusing reference = value_type &;\n> >  \tusing iterator_category = std::input_iterator_tag;\n> > @@ -275,7 +275,7 @@ public:\n> >  \n> >  private:\n> >  \tBase current_;\n> > -\tdifference_type pos_;\n> > +\tstd::size_t pos_;\n> >  };\n> >  \n> >  template<typename Base>\n> > diff --git a/test/utils.cpp b/test/utils.cpp\n> > index d7f810e95e7a..d65467b5102c 100644\n> > --- a/test/utils.cpp\n> > +++ b/test/utils.cpp\n> > @@ -77,8 +77,8 @@ protected:\n> >  \n> >  \tint testEnumerate()\n> >  \t{\n> > -\t\tstd::vector<int> integers{ 1, 2, 3, 4, 5 };\n> > -\t\tint i = 0;\n> > +\t\tstd::vector<unsigned int> integers{ 1, 2, 3, 4, 5 };\n> > +\t\tunsigned int i = 0;\n> >  \n> >  \t\tfor (auto [index, value] : utils::enumerate(integers)) {\n> >  \t\t\tif (index != i || value != i + 1) {\n> > @@ -93,12 +93,12 @@ protected:\n> >  \t\t\t++i;\n> >  \t\t}\n> >  \n> > -\t\tif (integers != std::vector<int>{ 0, 1, 2, 3, 4 }) {\n> > +\t\tif (integers != std::vector<unsigned int>{ 0, 1, 2, 3, 4 }) {\n> >  \t\t\tcerr << \"Failed to modify container in enumerated range loop\" << endl;\n> >  \t\t\treturn TestFail;\n> >  \t\t}\n> >  \n> > -\t\tSpan<const int> span{ integers };\n> > +\t\tSpan<const unsigned int> span{ integers };\n> >  \t\ti = 0;\n> >  \n> >  \t\tfor (auto [index, value] : utils::enumerate(span)) {\n> > @@ -112,7 +112,7 @@ protected:\n> >  \t\t\t++i;\n> >  \t\t}\n> >  \n> > -\t\tconst int array[] = { 0, 2, 4, 6, 8 };\n> > +\t\tconst unsigned int array[] = { 0, 2, 4, 6, 8 };\n> >  \t\ti = 0;\n> >  \n> >  \t\tfor (auto [index, value] : utils::enumerate(array)) {\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 5CA3ABD87D\n\tfor <parsemail@patchwork.libcamera.org>;\n\tThu,  2 Sep 2021 08:28:23 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id D1FE56916A;\n\tThu,  2 Sep 2021 10:28:22 +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 549E260254\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tThu,  2 Sep 2021 10:28:21 +0200 (CEST)","from pendragon.ideasonboard.com (62-78-145-57.bb.dnainternet.fi\n\t[62.78.145.57])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id C7CD145E;\n\tThu,  2 Sep 2021 10:28:20 +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=\"ukggPKdD\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1630571301;\n\tbh=NpVMNZzRg3ROMfQdTDhX2Oeaj+myexQaXV5jRVRtMMc=;\n\th=Date:From:To:Cc:Subject:References:In-Reply-To:From;\n\tb=ukggPKdDagvxkHhuvkDWIaM5SlOmOrLQENkHg79Q9woxofzYI2dPgG1K0FkPA0A/m\n\t+BoNmNm+xjRMCqmWXP5NLIf1juU4HAXXiAX93gIEZvP3j7nJOykZhIezDSKsmUZApC\n\tJbrlYkF8oyKjZ6JXGCDEM8wRUBbp+92uDzDfAGPQ=","Date":"Thu, 2 Sep 2021 11:28:04 +0300","From":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","To":"Kieran Bingham <kieran.bingham@ideasonboard.com>","Message-ID":"<YTCLFD2/+lpmr8/7@pendragon.ideasonboard.com>","References":"<20210902042303.2254-1-laurent.pinchart@ideasonboard.com>\n\t<20210902042303.2254-2-laurent.pinchart@ideasonboard.com>\n\t<26d15b64-3efb-05dc-56f9-64fdce5d9027@ideasonboard.com>","MIME-Version":"1.0","Content-Type":"text/plain; charset=utf-8","Content-Disposition":"inline","In-Reply-To":"<26d15b64-3efb-05dc-56f9-64fdce5d9027@ideasonboard.com>","Subject":"Re: [libcamera-devel] [RFC PATCH v1 01/12] libcamera: base: utils:\n\tUse size_t for index in utils::enumerate()","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>","Cc":"libcamera-devel@lists.libcamera.org","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}},{"id":19339,"web_url":"https://patchwork.libcamera.org/comment/19339/","msgid":"<CAO5uPHORUOCjFfKV2A+99Rf0GhmXXmuZNpWCDKdKyRbxbJy3xA@mail.gmail.com>","date":"2021-09-03T09:37:49","subject":"Re: [libcamera-devel] [RFC PATCH v1 01/12] libcamera: base: utils:\n\tUse size_t for index in utils::enumerate()","submitter":{"id":63,"url":"https://patchwork.libcamera.org/api/people/63/","name":"Hirokazu Honda","email":"hiroh@chromium.org"},"content":"Hi Laurent, thank you for the patch.\n\nOn Thu, Sep 2, 2021 at 5:28 PM Laurent Pinchart\n<laurent.pinchart@ideasonboard.com> wrote:\n>\n> Hi Kieran,\n>\n> On Thu, Sep 02, 2021 at 08:48:44AM +0100, Kieran Bingham wrote:\n> > On 02/09/2021 05:22, Laurent Pinchart wrote:\n> > > The index generated by utils::enumerate() is an iteration counter, which\n> > > should thus be positive. Use std::size_t instead of the different_type\n> > > of the container.\n> > >\n> > > Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\n> >\n> > No other changes required elsewhere?\n>\n> As far as the compiler tells me :-)\n>\n> > I guess that means the update is not particularly invasive, and the\n> > existing users will be fine.\n> >\n> > Given that looking at the recommended usage for this is with auto, I\n> > guess that means the type is automatically updated for those users:\n> >\n> > src/v4l2/v4l2_compat_manager.cpp:\n> >        for (auto [index, camera] : utils::enumerate(cameras)) {\n>\n> Yes. It makes a difference when using index though, is comparing it to a\n> signed value will now produce a warning (hence the changes in the test).\n> There are no other usage of the variable that the compiler is unhappy\n> about.\n>\n> > So this looks fine.\n> >\n> > Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>\n> >\n> > > ---\n> > >  include/libcamera/base/utils.h |  4 ++--\n> > >  test/utils.cpp                 | 10 +++++-----\n> > >  2 files changed, 7 insertions(+), 7 deletions(-)\n> > >\n> > > diff --git a/include/libcamera/base/utils.h b/include/libcamera/base/utils.h\n> > > index 52301254c2eb..2b761436a99f 100644\n> > > --- a/include/libcamera/base/utils.h\n> > > +++ b/include/libcamera/base/utils.h\n> > > @@ -246,7 +246,7 @@ private:\n> > >\n> > >  public:\n> > >     using difference_type = typename std::iterator_traits<Base>::difference_type;\n> > > -   using value_type = std::pair<const difference_type, base_reference>;\n> > > +   using value_type = std::pair<const std::size_t, base_reference>;\n> > >     using pointer = value_type *;\n> > >     using reference = value_type &;\n> > >     using iterator_category = std::input_iterator_tag;\n> > > @@ -275,7 +275,7 @@ public:\n> > >\n> > >  private:\n> > >     Base current_;\n> > > -   difference_type pos_;\n> > > +   std::size_t pos_;\n> > >  };\n> > >\n> > >  template<typename Base>\n> > > diff --git a/test/utils.cpp b/test/utils.cpp\n> > > index d7f810e95e7a..d65467b5102c 100644\n> > > --- a/test/utils.cpp\n> > > +++ b/test/utils.cpp\n> > > @@ -77,8 +77,8 @@ protected:\n> > >\n> > >     int testEnumerate()\n> > >     {\n> > > -           std::vector<int> integers{ 1, 2, 3, 4, 5 };\n> > > -           int i = 0;\n> > > +           std::vector<unsigned int> integers{ 1, 2, 3, 4, 5 };\n> > > +           unsigned int i = 0;\n> > >\n> > >             for (auto [index, value] : utils::enumerate(integers)) {\n> > >                     if (index != i || value != i + 1) {\n> > > @@ -93,12 +93,12 @@ protected:\n> > >                     ++i;\n> > >             }\n> > >\n> > > -           if (integers != std::vector<int>{ 0, 1, 2, 3, 4 }) {\n> > > +           if (integers != std::vector<unsigned int>{ 0, 1, 2, 3, 4 }) {\n> > >                     cerr << \"Failed to modify container in enumerated range loop\" << endl;\n> > >                     return TestFail;\n> > >             }\n> > >\n> > > -           Span<const int> span{ integers };\n> > > +           Span<const unsigned int> span{ integers };\n> > >             i = 0;\n> > >\n> > >             for (auto [index, value] : utils::enumerate(span)) {\n> > > @@ -112,7 +112,7 @@ protected:\n> > >                     ++i;\n> > >             }\n> > >\n> > > -           const int array[] = { 0, 2, 4, 6, 8 };\n> > > +           const unsigned int array[] = { 0, 2, 4, 6, 8 };\n> > >             i = 0;\n> > >\n> > >             for (auto [index, value] : utils::enumerate(array)) {\n> > >\n>\n\nReviewed-by: Hirokazu Honda <hiroh@chromium.org>\n\n-Hiro\n> --\n> Regards,\n>\n> Laurent Pinchart","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 3D332BDC71\n\tfor <parsemail@patchwork.libcamera.org>;\n\tFri,  3 Sep 2021 09:38:02 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 70CD869165;\n\tFri,  3 Sep 2021 11:38:01 +0200 (CEST)","from mail-ed1-x52e.google.com (mail-ed1-x52e.google.com\n\t[IPv6:2a00:1450:4864:20::52e])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 4887660251\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tFri,  3 Sep 2021 11:38:00 +0200 (CEST)","by mail-ed1-x52e.google.com with SMTP id z19so7120729edi.9\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tFri, 03 Sep 2021 02:38:00 -0700 (PDT)"],"Authentication-Results":"lancelot.ideasonboard.com;\n\tdkim=fail reason=\"signature verification failed\" (1024-bit key;\n\tunprotected) header.d=chromium.org header.i=@chromium.org\n\theader.b=\"i7r4VXS6\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org;\n\ts=google; \n\th=mime-version:references:in-reply-to:from:date:message-id:subject:to\n\t:cc; bh=LZE90Gi754zyeiaotRHdpfuev2ihEIC+APDBUTCbZh4=;\n\tb=i7r4VXS6688P5jbk6ziD8uZz8zVWvAzqYv29hdM/4AE2DVQ2gKilGzQtWXP5xDjAXK\n\taN7FUXhRAv5js7lfZVEwEU5zl1RVCEuLOLYiPxG+Uxi3zq5B4HvBJtLytRelKf8KTNx7\n\tAYaYfwIEwqj7zdCPNg21N7RgMY4tckt4aTCa8=","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20161025;\n\th=x-gm-message-state:mime-version:references:in-reply-to:from:date\n\t:message-id:subject:to:cc;\n\tbh=LZE90Gi754zyeiaotRHdpfuev2ihEIC+APDBUTCbZh4=;\n\tb=AqnNpWxxjCm2t29PLXr11s2/nvX25j51Q3rIop/qB7nye9XELWeWe2dyXPnWeYfDdQ\n\tl5W8morOstIrcARY4lYB6cu3ahPrG1V0+vFWl6k1IfgSEGCUlFMaR3KOGb7GhoES1wsH\n\tauHEAcvbZ3cfIW79XBXCZxyDTc8YeMyfiUfg7CWGGqRgT74oyMZ96fxiCgtmRRFY1UmO\n\teZYErOoe6DffZPu5BaHm4pM00fOu38r+dFTDBmRx6qjRVv6SsG71TL72mgUHrkcC23wm\n\thgbmzh50SsnypvqLEYfMa0CmMboiKgtGQ3Z6ASY6sbGz8IreGucldcmW4RAOifwtNJUp\n\t2Fkw==","X-Gm-Message-State":"AOAM530ogpYOSMoRWbISayjYNUJoOxzfSVMnEi5Oj5l41AnxL7DmFxdr\n\tYWIMOri18mh5S+iXL1zCwJuVjQGmJ2cWUiDka9VL/Q==","X-Google-Smtp-Source":"ABdhPJyLibSdWi/ERGo2Z+QBk89eI5sIYPBL8u4oj2FDQgJkjDGPKl51Y4e1j16Zw4Zwmhu07OFw3N25QIo441qerOs=","X-Received":"by 2002:a05:6402:caa:: with SMTP id\n\tcn10mr3032366edb.202.1630661879910; \n\tFri, 03 Sep 2021 02:37:59 -0700 (PDT)","MIME-Version":"1.0","References":"<20210902042303.2254-1-laurent.pinchart@ideasonboard.com>\n\t<20210902042303.2254-2-laurent.pinchart@ideasonboard.com>\n\t<26d15b64-3efb-05dc-56f9-64fdce5d9027@ideasonboard.com>\n\t<YTCLFD2/+lpmr8/7@pendragon.ideasonboard.com>","In-Reply-To":"<YTCLFD2/+lpmr8/7@pendragon.ideasonboard.com>","From":"Hirokazu Honda <hiroh@chromium.org>","Date":"Fri, 3 Sep 2021 18:37:49 +0900","Message-ID":"<CAO5uPHORUOCjFfKV2A+99Rf0GhmXXmuZNpWCDKdKyRbxbJy3xA@mail.gmail.com>","To":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","Content-Type":"text/plain; charset=\"UTF-8\"","Subject":"Re: [libcamera-devel] [RFC PATCH v1 01/12] libcamera: base: utils:\n\tUse size_t for index in utils::enumerate()","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>","Cc":"libcamera devel <libcamera-devel@lists.libcamera.org>","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}}]