aboutsummaryrefslogtreecommitdiffstats
path: root/src/lib/corelib/tools/stlutils.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/corelib/tools/stlutils.h')
-rw-r--r--src/lib/corelib/tools/stlutils.h15
1 files changed, 11 insertions, 4 deletions
diff --git a/src/lib/corelib/tools/stlutils.h b/src/lib/corelib/tools/stlutils.h
index ad00070cf..5c21c0672 100644
--- a/src/lib/corelib/tools/stlutils.h
+++ b/src/lib/corelib/tools/stlutils.h
@@ -54,11 +54,18 @@ C sorted(const C &container)
return result;
}
-template <class C>
-bool contains(const C &container, const typename C::value_type &v)
+template <class C, class T>
+bool contains(const C &container, const T &v)
{
- const auto &end = container.cend();
- return std::find(container.cbegin(), end, v) != end;
+ const auto &end = std::cend(container);
+ return std::find(std::cbegin(container), end, v) != end;
+}
+
+template <class T, size_t N, class U>
+bool contains(const T (&container)[N], const U &v)
+{
+ const auto &end = std::cend(container);
+ return std::find(std::cbegin(container), end, v) != end;
}
template <class C>