16a09441022a8b7e91ed7b84f3f968d3710110e0bHoward Hinnant//===----------------------------------------------------------------------===// 26a09441022a8b7e91ed7b84f3f968d3710110e0bHoward Hinnant// 36a09441022a8b7e91ed7b84f3f968d3710110e0bHoward Hinnant// The LLVM Compiler Infrastructure 46a09441022a8b7e91ed7b84f3f968d3710110e0bHoward Hinnant// 56a09441022a8b7e91ed7b84f3f968d3710110e0bHoward Hinnant// This file is dual licensed under the MIT and the University of Illinois Open 66a09441022a8b7e91ed7b84f3f968d3710110e0bHoward Hinnant// Source Licenses. See LICENSE.TXT for details. 76a09441022a8b7e91ed7b84f3f968d3710110e0bHoward Hinnant// 86a09441022a8b7e91ed7b84f3f968d3710110e0bHoward Hinnant//===----------------------------------------------------------------------===// 96a09441022a8b7e91ed7b84f3f968d3710110e0bHoward Hinnant 106a09441022a8b7e91ed7b84f3f968d3710110e0bHoward Hinnant// <queue> 116a09441022a8b7e91ed7b84f3f968d3710110e0bHoward Hinnant 126a09441022a8b7e91ed7b84f3f968d3710110e0bHoward Hinnant// void swap(priority_queue& c) 136a09441022a8b7e91ed7b84f3f968d3710110e0bHoward Hinnant// noexcept(__is_nothrow_swappable<container_type>::value && 146a09441022a8b7e91ed7b84f3f968d3710110e0bHoward Hinnant// __is_nothrow_swappable<Compare>::value); 156a09441022a8b7e91ed7b84f3f968d3710110e0bHoward Hinnant 166a09441022a8b7e91ed7b84f3f968d3710110e0bHoward Hinnant// This tests a conforming extension 176a09441022a8b7e91ed7b84f3f968d3710110e0bHoward Hinnant 186a09441022a8b7e91ed7b84f3f968d3710110e0bHoward Hinnant#include <queue> 196a09441022a8b7e91ed7b84f3f968d3710110e0bHoward Hinnant#include <cassert> 206a09441022a8b7e91ed7b84f3f968d3710110e0bHoward Hinnant 215cb52824fc2a0caf233311e91d9a2a53368f04adDan Albert#include "MoveOnly.h" 226a09441022a8b7e91ed7b84f3f968d3710110e0bHoward Hinnant 236a09441022a8b7e91ed7b84f3f968d3710110e0bHoward Hinnantint main() 246a09441022a8b7e91ed7b84f3f968d3710110e0bHoward Hinnant{ 256a09441022a8b7e91ed7b84f3f968d3710110e0bHoward Hinnant#if __has_feature(cxx_noexcept) 266a09441022a8b7e91ed7b84f3f968d3710110e0bHoward Hinnant { 276a09441022a8b7e91ed7b84f3f968d3710110e0bHoward Hinnant typedef std::priority_queue<MoveOnly> C; 286a09441022a8b7e91ed7b84f3f968d3710110e0bHoward Hinnant C c1, c2; 296a09441022a8b7e91ed7b84f3f968d3710110e0bHoward Hinnant static_assert(noexcept(swap(c1, c2)), ""); 306a09441022a8b7e91ed7b84f3f968d3710110e0bHoward Hinnant } 316a09441022a8b7e91ed7b84f3f968d3710110e0bHoward Hinnant#endif 326a09441022a8b7e91ed7b84f3f968d3710110e0bHoward Hinnant} 33