[libcamera-devel] [PATCH] pipeline: ipa: raspberrypi: Switch to use C++17 features where possible
Naushir Patuck
naush at raspberrypi.com
Tue Oct 6 11:07:31 CEST 2020
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.
Signed-off-by: Naushir Patuck <naush at raspberrypi.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();
--
2.25.1
More information about the libcamera-devel
mailing list