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// queue(queue&&) 136a09441022a8b7e91ed7b84f3f968d3710110e0bHoward Hinnant// noexcept(is_nothrow_move_constructible<container_type>::value); 146a09441022a8b7e91ed7b84f3f968d3710110e0bHoward Hinnant 156a09441022a8b7e91ed7b84f3f968d3710110e0bHoward Hinnant// This tests a conforming extension 166a09441022a8b7e91ed7b84f3f968d3710110e0bHoward Hinnant 176a09441022a8b7e91ed7b84f3f968d3710110e0bHoward Hinnant#include <queue> 186a09441022a8b7e91ed7b84f3f968d3710110e0bHoward Hinnant#include <cassert> 196a09441022a8b7e91ed7b84f3f968d3710110e0bHoward Hinnant 206a09441022a8b7e91ed7b84f3f968d3710110e0bHoward Hinnant#include "../../../MoveOnly.h" 216a09441022a8b7e91ed7b84f3f968d3710110e0bHoward Hinnant 226a09441022a8b7e91ed7b84f3f968d3710110e0bHoward Hinnantint main() 236a09441022a8b7e91ed7b84f3f968d3710110e0bHoward Hinnant{ 246a09441022a8b7e91ed7b84f3f968d3710110e0bHoward Hinnant#if __has_feature(cxx_noexcept) 256a09441022a8b7e91ed7b84f3f968d3710110e0bHoward Hinnant { 266a09441022a8b7e91ed7b84f3f968d3710110e0bHoward Hinnant typedef std::queue<MoveOnly> C; 276a09441022a8b7e91ed7b84f3f968d3710110e0bHoward Hinnant static_assert(std::is_nothrow_move_constructible<C>::value, ""); 286a09441022a8b7e91ed7b84f3f968d3710110e0bHoward Hinnant } 296a09441022a8b7e91ed7b84f3f968d3710110e0bHoward Hinnant#endif 306a09441022a8b7e91ed7b84f3f968d3710110e0bHoward Hinnant} 31