//===----------------------------------------------------------------------===// // // 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 // //===----------------------------------------------------------------------===// // // void swap(stack& q); #include #include #include "test_macros.h" template C make(int n) { C c; for (int i = 0; i < n; ++i) c.push(i); return c; } int main(int, char**) { std::stack q1 = make >(5); std::stack q2 = make >(10); std::stack q1_save = q1; std::stack q2_save = q2; q1.swap(q2); assert(q1 == q2_save); assert(q2 == q1_save); return 0; }