diff options
author | 2025-01-29 15:34:47 -0800 | |
---|---|---|
committer | 2025-01-29 15:34:47 -0800 | |
commit | d1f563013dfe3a2b5f8b412b9ee19b42a36d5932 (patch) | |
tree | 0034ec6becf185191ea0c242d7ffa771de387325 /include | |
parent | 3c4af5d06901d6f33f76d4711b3515327989ca23 (diff) | |
parent | e7ffef74e0b965e4d0240bc9b3809cdc10785361 (diff) |
Merge "Move external MultiTouch test into InputMapperUnitTest" into main
Diffstat (limited to 'include')
-rw-r--r-- | include/input/PrintTools.h | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/include/input/PrintTools.h b/include/input/PrintTools.h index 3470be4dce..71c215f723 100644 --- a/include/input/PrintTools.h +++ b/include/input/PrintTools.h @@ -19,13 +19,18 @@ #include <bitset> #include <map> #include <optional> -#include <set> +#include <ranges> #include <sstream> #include <string> #include <vector> namespace android { +namespace internal { +template <typename T> +concept Container = std::ranges::range<T>; +} + template <size_t N> std::string bitsetToString(const std::bitset<N>& bitset) { if (bitset.none()) { @@ -72,10 +77,12 @@ inline std::string toString(const std::optional<T>& optional, /** * Convert a set of integral types to string. */ -template <typename T> -std::string dumpSet(const std::set<T>& v, std::string (*toString)(const T&) = constToString) { +template <internal::Container T> +std::string dumpContainer( + const T& container, + std::string (*toString)(const std::ranges::range_value_t<T>&) = constToString) { std::string out; - for (const T& entry : v) { + for (const auto& entry : container) { out += out.empty() ? "{" : ", "; out += toString(entry); } |