diff options
Diffstat (limited to 'tests/framework/test_util.h')
-rw-r--r-- | tests/framework/test_util.h | 24 |
1 files changed, 7 insertions, 17 deletions
diff --git a/tests/framework/test_util.h b/tests/framework/test_util.h index 7ff100aae..e958c1139 100644 --- a/tests/framework/test_util.h +++ b/tests/framework/test_util.h @@ -852,29 +852,19 @@ template <typename T, size_t U> bool check_permutation(std::initializer_list<const char*> expected, std::array<T, U> const& returned) { if (expected.size() != returned.size()) return false; for (uint32_t i = 0; i < expected.size(); i++) { - bool found = false; - for (auto& elem : returned) { - if (string_eq(*(expected.begin() + i), elem.layerName)) { - found = true; - break; - } - } - if (!found) return false; + auto found = std::find_if(std::begin(returned), std::end(returned), + [&](T elem) { return string_eq(*(expected.begin() + i), elem.layerName); }); + if (found == std::end(returned)) return false; } return true; } -template <typename T, size_t U> +template <typename T> bool check_permutation(std::initializer_list<const char*> expected, std::vector<T> const& returned) { if (expected.size() != returned.size()) return false; for (uint32_t i = 0; i < expected.size(); i++) { - bool found = false; - for (auto& elem : returned) { - if (string_eq(*(expected.begin() + i), elem.layerName)) { - found = true; - break; - } - } - if (!found) return false; + auto found = std::find_if(std::begin(returned), std::end(returned), + [&](T elem) { return string_eq(*(expected.begin() + i), elem.layerName); }); + if (found == std::end(returned)) return false; } return true; } |