//===----------------------------------------------------------------------===// // // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. // See https://llvm.org/LICENSE.txt for license information. // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // //===----------------------------------------------------------------------===// // // template // requires HasSwap // void // iter_swap(Iter1 a, Iter2 b); #include #include #include "test_macros.h" #if TEST_STD_VER > 17 constexpr bool test_swap_constexpr() { int i = 1; int j = 2; std::iter_swap(&i, &j); return i == 2 && j == 1; } #endif // TEST_STD_VER > 17 int main(int, char**) { int i = 1; int j = 2; std::iter_swap(&i, &j); assert(i == 2); assert(j == 1); #if TEST_STD_VER > 17 static_assert(test_swap_constexpr()); #endif // TEST_STD_VER > 17 return 0; }