summaryrefslogtreecommitdiffstats
path: root/libcxx/test/std/algorithms/alg.modifying.operations/alg.swap/swap_ranges.pass.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'libcxx/test/std/algorithms/alg.modifying.operations/alg.swap/swap_ranges.pass.cpp')
-rw-r--r--libcxx/test/std/algorithms/alg.modifying.operations/alg.swap/swap_ranges.pass.cpp19
1 files changed, 19 insertions, 0 deletions
diff --git a/libcxx/test/std/algorithms/alg.modifying.operations/alg.swap/swap_ranges.pass.cpp b/libcxx/test/std/algorithms/alg.modifying.operations/alg.swap/swap_ranges.pass.cpp
index a47bbd24d95..51671a060d6 100644
--- a/libcxx/test/std/algorithms/alg.modifying.operations/alg.swap/swap_ranges.pass.cpp
+++ b/libcxx/test/std/algorithms/alg.modifying.operations/alg.swap/swap_ranges.pass.cpp
@@ -105,6 +105,21 @@ void test2()
}
}
+#if TEST_STD_VER > 17
+constexpr bool test_swap_constexpr()
+{
+ int i[3] = {1, 2, 3};
+ int j[3] = {4, 5, 6};
+ std::swap_ranges(i, i+3, j);
+ return i[0] == 4 &&
+ i[1] == 5 &&
+ i[2] == 6 &&
+ j[0] == 1 &&
+ j[1] == 2 &&
+ j[2] == 3;
+}
+#endif // TEST_STD_VER > 17
+
int main(int, char**)
{
test<forward_iterator<int*>, forward_iterator<int*> >();
@@ -149,6 +164,10 @@ int main(int, char**)
test1<std::unique_ptr<int>*, std::unique_ptr<int>*>();
#endif // TEST_STD_VER >= 11
+#if TEST_STD_VER > 17
+ static_assert(test_swap_constexpr());
+#endif // TEST_STD_VER > 17
+
test2();
return 0;
OpenPOWER on IntegriCloud