[PATCH v1] libcamera: camera_manager: Simplify camera lookup

Kieran Bingham kieran.bingham at ideasonboard.com
Mon Mar 31 18:55:06 CEST 2025


Quoting Barnabás Pőcze (2025-03-31 16:06:11)
> `std::find()` works just fine because `std::shared_ptr` has
> `operator==()` with the expected semantics.
> 
> Signed-off-by: Barnabás Pőcze <barnabas.pocze at ideasonboard.com>

Reviewed-by: Kieran Bingham <kieran.bingham at ideasonboard.com>

> ---
>  src/libcamera/camera_manager.cpp | 5 +----
>  1 file changed, 1 insertion(+), 4 deletions(-)
> 
> diff --git a/src/libcamera/camera_manager.cpp b/src/libcamera/camera_manager.cpp
> index 400109f12..b28bd0bd2 100644
> --- a/src/libcamera/camera_manager.cpp
> +++ b/src/libcamera/camera_manager.cpp
> @@ -239,10 +239,7 @@ void CameraManager::Private::removeCamera(std::shared_ptr<Camera> camera)
>         {
>                 MutexLocker locker(mutex_);
>  
> -               auto iter = std::find_if(cameras_.begin(), cameras_.end(),
> -                                        [camera](std::shared_ptr<Camera> &c) {
> -                                                return c.get() == camera.get();
> -                                        });
> +               auto iter = std::find(cameras_.begin(), cameras_.end(), camera);
>                 if (iter == cameras_.end())
>                         return;
>  
> -- 
> 2.49.0
>


More information about the libcamera-devel mailing list