[libcamera-devel] [PATCH] cam: Use structured bindings in range-based for loops
Laurent Pinchart
laurent.pinchart at ideasonboard.com
Mon Feb 21 13:57:27 CET 2022
Hi Nejc,
On Mon, Feb 21, 2022 at 02:49:46PM +0200, Laurent Pinchart wrote:
> On Sun, Feb 20, 2022 at 01:52:57AM +0100, Nejc Galof wrote:
> > Use structured bindings range-based for loops for better readability.
>
> It looks nicer indeed !
I forgot to mention that the patch is missing your Signed-off-by line.
Please see https://libcamera.org/contributing.html#submitting-patches.
You can use the -s option to git commit to add it. For this patch, you
can just reply to this e-mail with the SoB line and I'll add it locally.
> > ---
> > src/cam/camera_session.cpp | 21 +++++++--------------
> > 1 file changed, 7 insertions(+), 14 deletions(-)
> >
> > diff --git a/src/cam/camera_session.cpp b/src/cam/camera_session.cpp
> > index 1bf460fa..0428b538 100644
> > --- a/src/cam/camera_session.cpp
> > +++ b/src/cam/camera_session.cpp
> > @@ -120,10 +120,7 @@ CameraSession::~CameraSession()
> >
> > void CameraSession::listControls() const
> > {
> > - for (const auto &ctrl : camera_->controls()) {
> > - const ControlId *id = ctrl.first;
> > - const ControlInfo &info = ctrl.second;
> > -
> > + for (const auto &[id, info] : camera_->controls()) {
> > std::cout << "Control: " << id->name() << ": "
> > << info.toString() << std::endl;
> > }
>
> You can now drop the curly braces.
>
> Reviewed-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
>
> There's no need to submit a v2, I'll make this small change when
> applying the patch.
>
> > @@ -131,9 +128,8 @@ void CameraSession::listControls() const
> >
> > void CameraSession::listProperties() const
> > {
> > - for (const auto &prop : camera_->properties()) {
> > - const ControlId *id = properties::properties.at(prop.first);
> > - const ControlValue &value = prop.second;
> > + for (const auto &[key, value] : camera_->properties()) {
> > + const ControlId *id = properties::properties.at(key);
> >
> > std::cout << "Property: " << id->name() << " = "
> > << value.toString() << std::endl;
> > @@ -374,10 +370,7 @@ void CameraSession::processRequest(Request *request)
> > << std::setw(6) << std::setfill('0') << ts / 1000 % 1000000
> > << " (" << std::fixed << std::setprecision(2) << fps << " fps)";
> >
> > - for (auto it = buffers.begin(); it != buffers.end(); ++it) {
> > - const Stream *stream = it->first;
> > - FrameBuffer *buffer = it->second;
> > -
> > + for (const auto &[stream, buffer] : buffers) {
> > const FrameMetadata &metadata = buffer->metadata();
> >
> > info << " " << streamNames_[stream]
> > @@ -401,10 +394,10 @@ void CameraSession::processRequest(Request *request)
> >
> > if (printMetadata_) {
> > const ControlList &requestMetadata = request->metadata();
> > - for (const auto &ctrl : requestMetadata) {
> > - const ControlId *id = controls::controls.at(ctrl.first);
> > + for (const auto &[key, value] : requestMetadata) {
> > + const ControlId *id = controls::controls.at(key);
> > std::cout << "\t" << id->name() << " = "
> > - << ctrl.second.toString() << std::endl;
> > + << value.toString() << std::endl;
> > }
> > }
> >
--
Regards,
Laurent Pinchart
More information about the libcamera-devel
mailing list