Message ID | 20250331141714.512538-2-barnabas.pocze@ideasonboard.com |
---|---|
State | New |
Headers | show |
Series |
|
Related | show |
Quoting Barnabás Pőcze (2025-03-31 15:17:13) > Use `try_emplace()` that more or less combines `find()` and `operator[]` > in one function. > Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com> > Signed-off-by: Barnabás Pőcze <barnabas.pocze@ideasonboard.com> > --- > src/libcamera/request.cpp | 5 ++--- > 1 file changed, 2 insertions(+), 3 deletions(-) > > diff --git a/src/libcamera/request.cpp b/src/libcamera/request.cpp > index e7eb1c0c8..fc364441a 100644 > --- a/src/libcamera/request.cpp > +++ b/src/libcamera/request.cpp > @@ -475,15 +475,14 @@ int Request::addBuffer(const Stream *stream, FrameBuffer *buffer, > return -EEXIST; > } > > - auto it = bufferMap_.find(stream); > - if (it != bufferMap_.end()) { > + auto [it, inserted] = bufferMap_.try_emplace(stream, buffer); > + if (!inserted) { > LOG(Request, Error) << "FrameBuffer already set for stream"; > return -EEXIST; > } > > buffer->_d()->setRequest(this); > _d()->pending_.insert(buffer); > - bufferMap_[stream] = buffer; > > if (fence && fence->isValid()) > buffer->_d()->setFence(std::move(fence)); > -- > 2.49.0 >
Hi Barnabás, Thank you for the patch. On Mon, Mar 31, 2025 at 07:00:08PM +0100, Kieran Bingham wrote: > Quoting Barnabás Pőcze (2025-03-31 15:17:13) > > Use `try_emplace()` that more or less combines `find()` and `operator[]` > > in one function. > > Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com> > > > Signed-off-by: Barnabás Pőcze <barnabas.pocze@ideasonboard.com> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> > > --- > > src/libcamera/request.cpp | 5 ++--- > > 1 file changed, 2 insertions(+), 3 deletions(-) > > > > diff --git a/src/libcamera/request.cpp b/src/libcamera/request.cpp > > index e7eb1c0c8..fc364441a 100644 > > --- a/src/libcamera/request.cpp > > +++ b/src/libcamera/request.cpp > > @@ -475,15 +475,14 @@ int Request::addBuffer(const Stream *stream, FrameBuffer *buffer, > > return -EEXIST; > > } > > > > - auto it = bufferMap_.find(stream); > > - if (it != bufferMap_.end()) { > > + auto [it, inserted] = bufferMap_.try_emplace(stream, buffer); > > + if (!inserted) { > > LOG(Request, Error) << "FrameBuffer already set for stream"; > > return -EEXIST; > > } > > > > buffer->_d()->setRequest(this); > > _d()->pending_.insert(buffer); > > - bufferMap_[stream] = buffer; > > > > if (fence && fence->isValid()) > > buffer->_d()->setFence(std::move(fence));
diff --git a/src/libcamera/request.cpp b/src/libcamera/request.cpp index e7eb1c0c8..fc364441a 100644 --- a/src/libcamera/request.cpp +++ b/src/libcamera/request.cpp @@ -475,15 +475,14 @@ int Request::addBuffer(const Stream *stream, FrameBuffer *buffer, return -EEXIST; } - auto it = bufferMap_.find(stream); - if (it != bufferMap_.end()) { + auto [it, inserted] = bufferMap_.try_emplace(stream, buffer); + if (!inserted) { LOG(Request, Error) << "FrameBuffer already set for stream"; return -EEXIST; } buffer->_d()->setRequest(this); _d()->pending_.insert(buffer); - bufferMap_[stream] = buffer; if (fence && fence->isValid()) buffer->_d()->setFence(std::move(fence));
Use `try_emplace()` that more or less combines `find()` and `operator[]` in one function. Signed-off-by: Barnabás Pőcze <barnabas.pocze@ideasonboard.com> --- src/libcamera/request.cpp | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-)