[libcamera-devel] [PATCH] pipeline: ipa: raspberrypi: Switch to use C++17 features where possible
Kieran Bingham
kieran.bingham at ideasonboard.com
Tue Oct 6 11:33:46 CEST 2020
Hi Naush,
On 06/10/2020 10:07, Naushir Patuck wrote:
> With the recent change to use C++17, the following code changes can be
> made:
> - Use C++17 [[fallthough]] attribute instead of /* Fall through */.
> - Swap boost::any to std::any.
Ohhhhh ;-)
> Signed-off-by: Naushir Patuck <naush at raspberrypi.com>
Sounds and looks good to me, and one less boost header ;-)
Reviewed-by: Kieran Bingham <kieran.bingham at ideasonboard.com>
> ---
> src/ipa/raspberrypi/controller/metadata.hpp | 9 ++++-----
> src/libcamera/pipeline/raspberrypi/raspberrypi.cpp | 2 +-
> 2 files changed, 5 insertions(+), 6 deletions(-)
>
> diff --git a/src/ipa/raspberrypi/controller/metadata.hpp b/src/ipa/raspberrypi/controller/metadata.hpp
> index f3a8dfab..4f44ffc6 100644
> --- a/src/ipa/raspberrypi/controller/metadata.hpp
> +++ b/src/ipa/raspberrypi/controller/metadata.hpp
> @@ -8,13 +8,12 @@
>
> // A simple class for carrying arbitrary metadata, for example about an image.
>
> +#include <any>
> #include <string>
> #include <mutex>
> #include <map>
> #include <memory>
>
> -#include <boost/any.hpp>
> -
> namespace RPiController {
>
> class Metadata
> @@ -31,7 +30,7 @@ public:
> auto it = data_.find(tag);
> if (it == data_.end())
> return -1;
> - value = boost::any_cast<T>(it->second);
> + value = std::any_cast<T>(it->second);
> return 0;
> }
> void Clear()
> @@ -53,7 +52,7 @@ public:
> auto it = data_.find(tag);
> if (it == data_.end())
> return nullptr;
> - return boost::any_cast<T>(&it->second);
> + return std::any_cast<T>(&it->second);
> }
> template<typename T>
> void SetLocked(std::string const &tag, T const &value)
> @@ -69,7 +68,7 @@ public:
>
> private:
> mutable std::mutex mutex_;
> - std::map<std::string, boost::any> data_;
> + std::map<std::string, std::any> data_;
> };
>
> typedef std::shared_ptr<Metadata> MetadataPtr;
> diff --git a/src/libcamera/pipeline/raspberrypi/raspberrypi.cpp b/src/libcamera/pipeline/raspberrypi/raspberrypi.cpp
> index 1052bdce..26dbd257 100644
> --- a/src/libcamera/pipeline/raspberrypi/raspberrypi.cpp
> +++ b/src/libcamera/pipeline/raspberrypi/raspberrypi.cpp
> @@ -1494,7 +1494,7 @@ void RPiCameraData::handleState()
> * No break here, we want to try running the pipeline again.
> * The fallthrough clause below suppresses compiler warnings.
> */
> - /* Fall through */
> + [[fallthrough]];
>
> case State::Idle:
> tryRunPipeline();
>
--
Regards
--
Kieran
More information about the libcamera-devel
mailing list