[libcamera-devel] [PATCH 5/7] libcamera: yaml_parser: Remove memberNames() function

Jacopo Mondi jacopo at jmondi.org
Fri Jun 17 15:50:14 CEST 2022


Hi Laurent

On Thu, Jun 16, 2022 at 05:24:01PM +0300, Laurent Pinchart via libcamera-devel wrote:
> Now that YamlObject supports iteration, the memberNames() function isn't
> useful anymore as it can be implemented using utils::map_keys() if
> really needed. Drop it.
>
> Signed-off-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>

Reviewed-by: Jacopo Mondi <jacopo at jmondi.org>

Thanks
  j

> ---
>  include/libcamera/internal/yaml_parser.h |  1 -
>  src/libcamera/yaml_parser.cpp            | 22 ----------------------
>  test/yaml-parser.cpp                     | 10 ----------
>  3 files changed, 33 deletions(-)
>
> diff --git a/include/libcamera/internal/yaml_parser.h b/include/libcamera/internal/yaml_parser.h
> index 8edd32354184..811be1affcc0 100644
> --- a/include/libcamera/internal/yaml_parser.h
> +++ b/include/libcamera/internal/yaml_parser.h
> @@ -172,7 +172,6 @@ public:
>
>  	bool contains(const std::string &key) const;
>  	const YamlObject &operator[](const std::string &key) const;
> -	std::vector<std::string> memberNames() const;
>
>  private:
>  	LIBCAMERA_DISABLE_COPY_AND_MOVE(YamlObject)
> diff --git a/src/libcamera/yaml_parser.cpp b/src/libcamera/yaml_parser.cpp
> index 4df7e5a33d47..9b6e70cbfcf3 100644
> --- a/src/libcamera/yaml_parser.cpp
> +++ b/src/libcamera/yaml_parser.cpp
> @@ -335,28 +335,6 @@ bool YamlObject::contains(const std::string &key) const
>  	return true;
>  }
>
> -/**
> - * \fn YamlObject::memberNames()
> - * \brief Retrieve all member names of the dictionary
> - *
> - * This function retrieve member names of a YamlObject. Only YamlObject
> - * instances of Dictionary type associate elements with names, calling this
> - * function on other types of instances is invalid and results in undefined
> - * behaviour.
> - *
> - * \todo Replace this function with an iterator-based API
> - *
> - * \return A vector of string as the member names
> - */
> -std::vector<std::string> YamlObject::memberNames() const
> -{
> -	std::vector<std::string> memberNames;
> -	for (auto &[key, _] : dictionary_)
> -		memberNames.push_back(key);
> -
> -	return memberNames;
> -}
> -
>  /**
>   * \fn YamlObject::operator[](const std::string &key) const
>   * \brief Retrieve a member by name from the dictionary
> diff --git a/test/yaml-parser.cpp b/test/yaml-parser.cpp
> index ab6e9a01c0fe..38f848232fa6 100644
> --- a/test/yaml-parser.cpp
> +++ b/test/yaml-parser.cpp
> @@ -500,16 +500,6 @@ protected:
>  		/* Make sure utils::map_keys() works on the adapter. */
>  		(void)utils::map_keys(dictObj.asDict());
>
> -		auto memeberNames = dictObj.memberNames();
> -		sort(memeberNames.begin(), memeberNames.end());
> -
> -		if (memeberNames[0] != "a" ||
> -		    memeberNames[1] != "b" ||
> -		    memeberNames[2] != "c") {
> -			cerr << "Dictionary object fail to parse member names" << std::endl;
> -			return TestFail;
> -		}
> -
>  		/* Test leveled objects */
>  		auto &level1Obj = (*root)["level1"];
>
> --
> Regards,
>
> Laurent Pinchart
>


More information about the libcamera-devel mailing list