1 // { dg-do compile } 2 // { dg-require-normal-mode "" } 3 // { dg-require-normal-namespace "" } 4 5 // Copyright (C) 2007-2021 Free Software Foundation, Inc. 6 // 7 // This file is part of the GNU ISO C++ Library. This library is free 8 // software; you can redistribute it and/or modify it under the 9 // terms of the GNU General Public License as published by the 10 // Free Software Foundation; either version 3, or (at your option) 11 // any later version. 12 13 // This library is distributed in the hope that it will be useful, 14 // but WITHOUT ANY WARRANTY; without even the implied warranty of 15 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 // GNU General Public License for more details. 17 18 // You should have received a copy of the GNU General Public License along 19 // with this library; see the file COPYING3. If not see 20 // <http://www.gnu.org/licenses/>. 21 22 #include <deque> 23 24 #if __cplusplus >= 201103L 25 # define NOTHROW(X) noexcept(X) 26 #else 27 # define NOTHROW(X) 28 #endif 29 30 namespace std { 31 template <class T, class Allocator> class deque; 32 33 template <class T, class Allocator> 34 bool operator== (const deque<T,Allocator>& x, const deque<T,Allocator>& y); 35 36 template <class T, class Allocator> 37 bool operator< (const deque<T,Allocator>& x, const deque<T,Allocator>& y); 38 39 template <class T, class Allocator> 40 bool operator!= (const deque<T,Allocator>& x, const deque<T,Allocator>& y); 41 42 template <class T, class Allocator> 43 bool operator> (const deque<T,Allocator>& x, const deque<T,Allocator>& y); 44 45 template <class T, class Allocator> 46 bool operator>= (const deque<T,Allocator>& x, const deque<T,Allocator>& y); 47 48 template <class T, class Allocator> 49 bool operator<= (const deque<T,Allocator>& x, const deque<T,Allocator>& y); 50 51 template <class T, class Allocator> 52 void swap(deque<T,Allocator>& x, deque<T,Allocator>& y) 53 NOTHROW(noexcept(x.swap(y))); 54 } 55