diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/libcamera/internal/utils.h | 10 |
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) |