[{"id":3905,"web_url":"https://patchwork.libcamera.org/comment/3905/","msgid":"<1a82804f-12df-68ca-06ee-79da43f2575a@ideasonboard.com>","date":"2020-03-02T22:56:03","subject":"Re: [libcamera-devel] [PATCH 07/31] libcamera: controls: Reorder\n\tControlValue methods","submitter":{"id":4,"url":"https://patchwork.libcamera.org/api/people/4/","name":"Kieran Bingham","email":"kieran.bingham@ideasonboard.com"},"content":"Heya,\n\nOn 29/02/2020 16:42, Laurent Pinchart wrote:\n> From: Jacopo Mondi <jacopo@jmondi.org>\n> \n> Reorder functions in ControlValue class to group const methods together.\n> \n> Cosmetic change only.\n\nWell ok then...\n\n> \n> Signed-off-by: Jacopo Mondi <jacopo@jmondi.org>\n\nThe code moves in the header vs the cpp differ, but that could be\nbecause they were out of sync already or git decided to match different\nhunks moving?\n\nOtherwise as it's cosmetic only I think we can assume it's safe:\n\nReviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>\n\n> ---\n>  include/libcamera/controls.h | 10 ++--\n>  src/libcamera/controls.cpp   | 94 ++++++++++++++++++------------------\n>  2 files changed, 52 insertions(+), 52 deletions(-)\n> \n> diff --git a/include/libcamera/controls.h b/include/libcamera/controls.h\n> index 458b84e8fa8c..9f8a9031bd74 100644\n> --- a/include/libcamera/controls.h\n> +++ b/include/libcamera/controls.h\n> @@ -33,11 +33,6 @@ public:\n>  \tControlType type() const { return type_; }\n>  \tbool isNone() const { return type_ == ControlTypeNone; }\n>  \n> -\ttemplate<typename T>\n> -\tconst T &get() const;\n> -\ttemplate<typename T>\n> -\tvoid set(const T &value);\n> -\n>  \tstd::string toString() const;\n>  \n>  \tbool operator==(const ControlValue &other) const;\n> @@ -46,6 +41,11 @@ public:\n>  \t\treturn !(*this == other);\n>  \t}\n>  \n> +\ttemplate<typename T>\n> +\tconst T &get() const;\n> +\ttemplate<typename T>\n> +\tvoid set(const T &value);\n> +\n>  private:\n>  \tControlType type_;\n>  \n> diff --git a/src/libcamera/controls.cpp b/src/libcamera/controls.cpp\n> index 0031cd064da9..613e6d768c0f 100644\n> --- a/src/libcamera/controls.cpp\n> +++ b/src/libcamera/controls.cpp\n> @@ -112,6 +112,53 @@ ControlValue::ControlValue(int64_t value)\n>   * \\return True if the value type is ControlTypeNone, false otherwise\n>   */\n>  \n> +/**\n> + * \\brief Assemble and return a string describing the value\n> + * \\return A string describing the ControlValue\n> + */\n> +std::string ControlValue::toString() const\n> +{\n> +\tswitch (type_) {\n> +\tcase ControlTypeNone:\n> +\t\treturn \"<None>\";\n> +\tcase ControlTypeBool:\n> +\t\treturn bool_ ? \"True\" : \"False\";\n> +\tcase ControlTypeInteger32:\n> +\t\treturn std::to_string(integer32_);\n> +\tcase ControlTypeInteger64:\n> +\t\treturn std::to_string(integer64_);\n> +\t}\n> +\n> +\treturn \"<ValueType Error>\";\n> +}\n> +\n> +/**\n> + * \\brief Compare ControlValue instances for equality\n> + * \\return True if the values have identical types and values, false otherwise\n> + */\n> +bool ControlValue::operator==(const ControlValue &other) const\n> +{\n> +\tif (type_ != other.type_)\n> +\t\treturn false;\n> +\n> +\tswitch (type_) {\n> +\tcase ControlTypeBool:\n> +\t\treturn bool_ == other.bool_;\n> +\tcase ControlTypeInteger32:\n> +\t\treturn integer32_ == other.integer32_;\n> +\tcase ControlTypeInteger64:\n> +\t\treturn integer64_ == other.integer64_;\n> +\tdefault:\n> +\t\treturn false;\n> +\t}\n> +}\n> +\n> +/**\n> + * \\fn bool ControlValue::operator!=()\n> + * \\brief Compare ControlValue instances for non equality\n> + * \\return False if the values have identical types and values, true otherwise\n> + */\n> +\n>  /**\n>   * \\fn template<typename T> const T &ControlValue::get() const\n>   * \\brief Get the control value\n> @@ -175,53 +222,6 @@ void ControlValue::set<int64_t>(const int64_t &value)\n>  }\n>  #endif /* __DOXYGEN__ */\n>  \n> -/**\n> - * \\brief Assemble and return a string describing the value\n> - * \\return A string describing the ControlValue\n> - */\n> -std::string ControlValue::toString() const\n> -{\n> -\tswitch (type_) {\n> -\tcase ControlTypeNone:\n> -\t\treturn \"<None>\";\n> -\tcase ControlTypeBool:\n> -\t\treturn bool_ ? \"True\" : \"False\";\n> -\tcase ControlTypeInteger32:\n> -\t\treturn std::to_string(integer32_);\n> -\tcase ControlTypeInteger64:\n> -\t\treturn std::to_string(integer64_);\n> -\t}\n> -\n> -\treturn \"<ValueType Error>\";\n> -}\n> -\n> -/**\n> - * \\brief Compare ControlValue instances for equality\n> - * \\return True if the values have identical types and values, false otherwise\n> - */\n> -bool ControlValue::operator==(const ControlValue &other) const\n> -{\n> -\tif (type_ != other.type_)\n> -\t\treturn false;\n> -\n> -\tswitch (type_) {\n> -\tcase ControlTypeBool:\n> -\t\treturn bool_ == other.bool_;\n> -\tcase ControlTypeInteger32:\n> -\t\treturn integer32_ == other.integer32_;\n> -\tcase ControlTypeInteger64:\n> -\t\treturn integer64_ == other.integer64_;\n> -\tdefault:\n> -\t\treturn false;\n> -\t}\n> -}\n> -\n> -/**\n> - * \\fn bool ControlValue::operator!=()\n> - * \\brief Compare ControlValue instances for non equality\n> - * \\return False if the values have identical types and values, true otherwise\n> - */\n> -\n>  /**\n>   * \\class ControlId\n>   * \\brief Control static metadata\n>","headers":{"Return-Path":"<kieran.bingham@ideasonboard.com>","Received":["from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 50BE2627B6\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tMon,  2 Mar 2020 23:56:06 +0100 (CET)","from [192.168.0.20]\n\t(cpc89242-aztw30-2-0-cust488.18-1.cable.virginm.net [86.31.129.233])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id AF9E09D0;\n\tMon,  2 Mar 2020 23:56:05 +0100 (CET)"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1583189765;\n\tbh=Vq70dBwi5lkPHC/kAF6qc4sqznYt6aTx0O4CbMIo1ks=;\n\th=Reply-To:Subject:To:References:From:Date:In-Reply-To:From;\n\tb=cHcIy/MUufepiiNCyQVqSc3W0ooXsfXZ7cVlKumuLntsE7j8K93tukt58Wl0zFPo4\n\tRsUf5unXgy4al22Mjoxmp4NT8Wutsm93veX4V/cdYmIpQXIGCvQ3VYF1ztLlD8GW6m\n\trzd8lpBuK9ktS3J2aIBOC9k67qQs712DIhFOITWQ=","Reply-To":"kieran.bingham@ideasonboard.com","To":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>,\n\tlibcamera-devel@lists.libcamera.org","References":"<20200229164254.23604-1-laurent.pinchart@ideasonboard.com>\n\t<20200229164254.23604-8-laurent.pinchart@ideasonboard.com>","From":"Kieran Bingham <kieran.bingham@ideasonboard.com>","Openpgp":"preference=signencrypt","Autocrypt":"addr=kieran.bingham@ideasonboard.com; keydata=\n\t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\n\tWZw01QYHU/GUV/zHJSFk","Organization":"Ideas on Board","Message-ID":"<1a82804f-12df-68ca-06ee-79da43f2575a@ideasonboard.com>","Date":"Mon, 2 Mar 2020 22:56:03 +0000","User-Agent":"Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101\n\tThunderbird/60.9.1","MIME-Version":"1.0","In-Reply-To":"<20200229164254.23604-8-laurent.pinchart@ideasonboard.com>","Content-Type":"text/plain; charset=utf-8","Content-Language":"en-GB","Content-Transfer-Encoding":"8bit","Subject":"Re: [libcamera-devel] [PATCH 07/31] libcamera: controls: Reorder\n\tControlValue methods","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>","X-List-Received-Date":"Mon, 02 Mar 2020 22:56:06 -0000"}}]