[PATCH 1/6] ipa: rpi: Use r-value references in the set()/setLocked() functions

David Plowman david.plowman at raspberrypi.com
Fri Dec 13 11:03:19 CET 2024


Hi Naush

Thanks for the patch.

On Fri, 13 Dec 2024 at 09:46, Naushir Patuck <naush at raspberrypi.com> wrote:
>
> Use an r-value reference in set() and setLocked(), allowing more
> efficient metadata handling with std::forward and std::move if needed.
>
> Signed-off-by: Naushir Patuck <naush at raspberrypi.com>

Looks good!

Reviewed-by: David Plowman <david.plowman at raspberrypi.com>

Thanks
David

> ---
>  src/ipa/rpi/controller/metadata.h | 8 ++++----
>  1 file changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/src/ipa/rpi/controller/metadata.h b/src/ipa/rpi/controller/metadata.h
> index b4650d25170f..eda4b59bca9a 100644
> --- a/src/ipa/rpi/controller/metadata.h
> +++ b/src/ipa/rpi/controller/metadata.h
> @@ -36,10 +36,10 @@ public:
>         }
>
>         template<typename T>
> -       void set(std::string const &tag, T const &value)
> +       void set(std::string const &tag, T &&value)
>         {
>                 std::scoped_lock lock(mutex_);
> -               data_[tag] = value;
> +               data_[tag] = std::forward<T>(value);
>         }
>
>         template<typename T>
> @@ -104,10 +104,10 @@ public:
>         }
>
>         template<typename T>
> -       void setLocked(std::string const &tag, T const &value)
> +       void setLocked(std::string const &tag, T &&value)
>         {
>                 /* Use this only if you're holding the lock yourself. */
> -               data_[tag] = value;
> +               data_[tag] = std::forward<T>(value);
>         }
>
>         /*
> --
> 2.43.0
>


More information about the libcamera-devel mailing list