Read-only mirrors. Development, issues and pull requests are on GitHub.

summaryrefslogtreecommitdiffhomepage
path: root/include
diff options
context:
space:
mode:
authorMartin Hořeňovský2017-07-28 15:11:05 +0200
committerMartin Hořeňovský2017-07-28 15:11:05 +0200
commitd01fe03ba630b5f7be7cfd52dc91cf4a8a20532e (patch)
tree85784a6dba044b34eb8537e322531ec12e9089db /include
parent287cc92b2ce605fd4ca7809667581d820f448330 (diff)
downloadcatch3-d01fe03ba630b5f7be7cfd52dc91cf4a8a20532e.tar.gz
Removed <algorithm> include from the main path
Diffstat (limited to 'include')
-rw-r--r--include/internal/catch_matchers_vector.h22
1 files changed, 17 insertions, 5 deletions
diff --git a/include/internal/catch_matchers_vector.h b/include/internal/catch_matchers_vector.h
index b176d4a3..4bf39d70 100644
--- a/include/internal/catch_matchers_vector.h
+++ b/include/internal/catch_matchers_vector.h
@@ -10,8 +10,6 @@
#include "catch_matchers.hpp"
-#include <algorithm>
-
namespace Catch {
namespace Matchers {
@@ -23,7 +21,12 @@ namespace Matchers {
ContainsElementMatcher(T const &comparator) : m_comparator( comparator) {}
bool match(std::vector<T> const &v) const override {
- return std::find(v.begin(), v.end(), m_comparator) != v.end();
+ for (auto const& el : v) {
+ if (el == m_comparator) {
+ return true;
+ }
+ }
+ return false;
}
std::string describe() const override {
@@ -42,9 +45,18 @@ namespace Matchers {
// !TBD: see note in EqualsMatcher
if (m_comparator.size() > v.size())
return false;
- for ( auto const& comparator : m_comparator )
- if (std::find(v.begin(), v.end(), comparator) == v.end())
+ for (auto const& comparator : m_comparator) {
+ auto present = false;
+ for (const auto& el : v) {
+ if (el == comparator) {
+ present = true;
+ break;
+ }
+ }
+ if (!present) {
return false;
+ }
+ }
return true;
}
std::string describe() const override {