[libcamera-devel,3/5] libcamera: Drop explicit construction of std::queue

Message ID 20200822200037.20892-4-laurent.pinchart@ideasonboard.com
State Accepted
Headers show
Series
  • libcamera: Switch to C++17
Related show

Commit Message

Laurent Pinchart Aug. 22, 2020, 8 p.m. UTC
Now that libcamera is using C++17 and requires gcc 7 or newer, we can
use the implicit std::queue constructor. Simplify the code accordingly.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
---
 src/libcamera/pipeline/ipu3/cio2.cpp               | 4 +---
 src/libcamera/pipeline/raspberrypi/raspberrypi.cpp | 5 ++---
 2 files changed, 3 insertions(+), 6 deletions(-)

Comments

Kieran Bingham Aug. 24, 2020, 9:56 a.m. UTC | #1
Hi Laurent,

On 22/08/2020 21:00, Laurent Pinchart wrote:
> Now that libcamera is using C++17 and requires gcc 7 or newer, we can
> use the implicit std::queue constructor. Simplify the code accordingly.
> 
> Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>

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

> ---
>  src/libcamera/pipeline/ipu3/cio2.cpp               | 4 +---
>  src/libcamera/pipeline/raspberrypi/raspberrypi.cpp | 5 ++---
>  2 files changed, 3 insertions(+), 6 deletions(-)
> 
> diff --git a/src/libcamera/pipeline/ipu3/cio2.cpp b/src/libcamera/pipeline/ipu3/cio2.cpp
> index abe6d8a592d6..e43ec70fe3e4 100644
> --- a/src/libcamera/pipeline/ipu3/cio2.cpp
> +++ b/src/libcamera/pipeline/ipu3/cio2.cpp
> @@ -300,9 +300,7 @@ void CIO2Device::tryReturnBuffer(FrameBuffer *buffer)
>  
>  void CIO2Device::freeBuffers()
>  {
> -	/* The default std::queue constructor is explicit with gcc 5 and 6. */
> -	availableBuffers_ = std::queue<FrameBuffer *>{};
> -
> +	availableBuffers_ = {};
>  	buffers_.clear();
>  
>  	if (output_->releaseBuffers())
> diff --git a/src/libcamera/pipeline/raspberrypi/raspberrypi.cpp b/src/libcamera/pipeline/raspberrypi/raspberrypi.cpp
> index eeaf335cbcd2..b8f0549f0c60 100644
> --- a/src/libcamera/pipeline/raspberrypi/raspberrypi.cpp
> +++ b/src/libcamera/pipeline/raspberrypi/raspberrypi.cpp
> @@ -848,9 +848,8 @@ void PipelineHandlerRPi::stop(Camera *camera)
>  
>  	/* This also stops the streams. */
>  	data->clearIncompleteRequests();
> -	/* The default std::queue constructor is explicit with gcc 5 and 6. */
> -	data->bayerQueue_ = std::queue<FrameBuffer *>{};
> -	data->embeddedQueue_ = std::queue<FrameBuffer *>{};
> +	data->bayerQueue_ = {};
> +	data->embeddedQueue_ = {};
>  
>  	/* Stop the IPA. */
>  	data->ipa_->stop();
>
Niklas Söderlund Aug. 24, 2020, 9:12 p.m. UTC | #2
Hi Laurent,

Thanks for your patch.

On 2020-08-22 23:00:35 +0300, Laurent Pinchart wrote:
> Now that libcamera is using C++17 and requires gcc 7 or newer, we can
> use the implicit std::queue constructor. Simplify the code accordingly.
> 
> Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>

Reviewed-by: Niklas Söderlund <niklas.soderlund@ragnatech.se>

> ---
>  src/libcamera/pipeline/ipu3/cio2.cpp               | 4 +---
>  src/libcamera/pipeline/raspberrypi/raspberrypi.cpp | 5 ++---
>  2 files changed, 3 insertions(+), 6 deletions(-)
> 
> diff --git a/src/libcamera/pipeline/ipu3/cio2.cpp b/src/libcamera/pipeline/ipu3/cio2.cpp
> index abe6d8a592d6..e43ec70fe3e4 100644
> --- a/src/libcamera/pipeline/ipu3/cio2.cpp
> +++ b/src/libcamera/pipeline/ipu3/cio2.cpp
> @@ -300,9 +300,7 @@ void CIO2Device::tryReturnBuffer(FrameBuffer *buffer)
>  
>  void CIO2Device::freeBuffers()
>  {
> -	/* The default std::queue constructor is explicit with gcc 5 and 6. */
> -	availableBuffers_ = std::queue<FrameBuffer *>{};
> -
> +	availableBuffers_ = {};
>  	buffers_.clear();
>  
>  	if (output_->releaseBuffers())
> diff --git a/src/libcamera/pipeline/raspberrypi/raspberrypi.cpp b/src/libcamera/pipeline/raspberrypi/raspberrypi.cpp
> index eeaf335cbcd2..b8f0549f0c60 100644
> --- a/src/libcamera/pipeline/raspberrypi/raspberrypi.cpp
> +++ b/src/libcamera/pipeline/raspberrypi/raspberrypi.cpp
> @@ -848,9 +848,8 @@ void PipelineHandlerRPi::stop(Camera *camera)
>  
>  	/* This also stops the streams. */
>  	data->clearIncompleteRequests();
> -	/* The default std::queue constructor is explicit with gcc 5 and 6. */
> -	data->bayerQueue_ = std::queue<FrameBuffer *>{};
> -	data->embeddedQueue_ = std::queue<FrameBuffer *>{};
> +	data->bayerQueue_ = {};
> +	data->embeddedQueue_ = {};
>  
>  	/* Stop the IPA. */
>  	data->ipa_->stop();
> -- 
> Regards,
> 
> Laurent Pinchart
> 
> _______________________________________________
> libcamera-devel mailing list
> libcamera-devel@lists.libcamera.org
> https://lists.libcamera.org/listinfo/libcamera-devel

Patch

diff --git a/src/libcamera/pipeline/ipu3/cio2.cpp b/src/libcamera/pipeline/ipu3/cio2.cpp
index abe6d8a592d6..e43ec70fe3e4 100644
--- a/src/libcamera/pipeline/ipu3/cio2.cpp
+++ b/src/libcamera/pipeline/ipu3/cio2.cpp
@@ -300,9 +300,7 @@  void CIO2Device::tryReturnBuffer(FrameBuffer *buffer)
 
 void CIO2Device::freeBuffers()
 {
-	/* The default std::queue constructor is explicit with gcc 5 and 6. */
-	availableBuffers_ = std::queue<FrameBuffer *>{};
-
+	availableBuffers_ = {};
 	buffers_.clear();
 
 	if (output_->releaseBuffers())
diff --git a/src/libcamera/pipeline/raspberrypi/raspberrypi.cpp b/src/libcamera/pipeline/raspberrypi/raspberrypi.cpp
index eeaf335cbcd2..b8f0549f0c60 100644
--- a/src/libcamera/pipeline/raspberrypi/raspberrypi.cpp
+++ b/src/libcamera/pipeline/raspberrypi/raspberrypi.cpp
@@ -848,9 +848,8 @@  void PipelineHandlerRPi::stop(Camera *camera)
 
 	/* This also stops the streams. */
 	data->clearIncompleteRequests();
-	/* The default std::queue constructor is explicit with gcc 5 and 6. */
-	data->bayerQueue_ = std::queue<FrameBuffer *>{};
-	data->embeddedQueue_ = std::queue<FrameBuffer *>{};
+	data->bayerQueue_ = {};
+	data->embeddedQueue_ = {};
 
 	/* Stop the IPA. */
 	data->ipa_->stop();