summaryrefslogtreecommitdiff
path: root/include/libcamera/internal/utils.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/libcamera/internal/utils.h')
-rw-r--r--include/libcamera/internal/utils.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/include/libcamera/internal/utils.h b/include/libcamera/internal/utils.h
index 0953423e..8d026cc6 100644
--- a/include/libcamera/internal/utils.h
+++ b/include/libcamera/internal/utils.h
@@ -15,6 +15,7 @@
#include <string>
#include <string.h>
#include <sys/time.h>
+#include <vector>
#define ARRAY_SIZE(a) (sizeof(a) / sizeof(a[0]))
@@ -36,6 +37,15 @@ const char *basename(const char *path);
char *secure_getenv(const char *name);
std::string dirname(const std::string &path);
+template<typename T>
+std::vector<typename T::key_type> map_keys(const T &map)
+{
+ std::vector<typename T::key_type> keys;
+ std::transform(map.begin(), map.end(), std::back_inserter(keys),
+ [](const auto &value) { return value.first; });
+ return keys;
+}
+
template<class InputIt1, class InputIt2>
unsigned int set_overlap(InputIt1 first1, InputIt1 last1,
InputIt2 first2, InputIt2 last2)