[PATCH v1] libcamera: camera_manager: Simplify camera lookup

Barnabás Pőcze barnabas.pocze at ideasonboard.com
Mon Mar 31 17:06:11 CEST 2025


`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>
---
 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