diff options
Diffstat (limited to 'src/lib/corelib/tools/stlutils.h')
-rw-r--r-- | src/lib/corelib/tools/stlutils.h | 15 |
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> |