44 lines · cpp
1//===----------------------------------------------------------------------===//2//3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.4// See https://llvm.org/LICENSE.txt for license information.5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception6//7//===----------------------------------------------------------------------===//8 9// <queue>10 11// priority_queue();12 13// template <class T, class Container, class Compare>14// void swap(priority_queue<T, Container, Compare>& x,15// priority_queue<T, Container, Compare>& y);16 17#include <queue>18#include <cassert>19 20#include "test_macros.h"21 22TEST_CONSTEXPR_CXX26 bool test() {23 std::priority_queue<int> q1;24 std::priority_queue<int> q2;25 q1.push(1);26 q1.push(3);27 q1.push(2);28 swap(q1, q2);29 assert(q1.empty());30 assert(q2.size() == 3);31 assert(q2.top() == 3);32 33 return true;34}35 36int main(int, char**) {37 assert(test());38#if TEST_STD_VER >= 2639 static_assert(test());40#endif41 42 return 0;43}44