diff options
Diffstat (limited to 'libcxx/test/std/algorithms/alg.nonmodifying')
-rw-r--r-- | libcxx/test/std/algorithms/alg.nonmodifying/alg.search/search_n.pass.cpp | 4 | ||||
-rw-r--r-- | libcxx/test/std/algorithms/alg.nonmodifying/alg.search/search_n_pred.pass.cpp | 6 |
2 files changed, 10 insertions, 0 deletions
diff --git a/libcxx/test/std/algorithms/alg.nonmodifying/alg.search/search_n.pass.cpp b/libcxx/test/std/algorithms/alg.nonmodifying/alg.search/search_n.pass.cpp index b834da210d3..f7f8ee09279 100644 --- a/libcxx/test/std/algorithms/alg.nonmodifying/alg.search/search_n.pass.cpp +++ b/libcxx/test/std/algorithms/alg.nonmodifying/alg.search/search_n.pass.cpp @@ -18,6 +18,7 @@ #include <cassert> #include "test_iterators.h" +#include "user_defined_integral.hpp" template <class Iter> void @@ -63,6 +64,9 @@ test() assert(std::search_n(Iter(ic), Iter(ic+sc), 2, 0) == Iter(ic)); assert(std::search_n(Iter(ic), Iter(ic+sc), 3, 0) == Iter(ic)); assert(std::search_n(Iter(ic), Iter(ic+sc), 4, 0) == Iter(ic+sc)); + + // Check that we properly convert the size argument to an integral. + std::search_n(Iter(ic), Iter(ic+sc), UserDefinedIntegral<unsigned>(0), 0); } int main() diff --git a/libcxx/test/std/algorithms/alg.nonmodifying/alg.search/search_n_pred.pass.cpp b/libcxx/test/std/algorithms/alg.nonmodifying/alg.search/search_n_pred.pass.cpp index 6004b0e0a81..8bc6f4d26bd 100644 --- a/libcxx/test/std/algorithms/alg.nonmodifying/alg.search/search_n_pred.pass.cpp +++ b/libcxx/test/std/algorithms/alg.nonmodifying/alg.search/search_n_pred.pass.cpp @@ -18,6 +18,7 @@ #include <cassert> #include "test_iterators.h" +#include "user_defined_integral.hpp" struct count_equal { @@ -29,6 +30,7 @@ struct count_equal unsigned count_equal::count = 0; + template <class Iter> void test() @@ -138,6 +140,10 @@ test() assert(std::search_n(Iter(ic), Iter(ic+sc), 4, 0, count_equal()) == Iter(ic+sc)); assert(count_equal::count <= sc); count_equal::count = 0; + + // Check that we properly convert the size argument to an integral. + std::search_n(Iter(ic), Iter(ic+sc), UserDefinedIntegral<unsigned>(4), 0, count_equal()); + count_equal::count = 0; } int main() |