comparison.pass.cpp revision 9c2683d77c84eeec74ec4166ed25bbc2ebb0c3f6
1//===----------------------------------------------------------------------===// 2// 3// The LLVM Compiler Infrastructure 4// 5// This file is distributed under the University of Illinois Open Source 6// License. See LICENSE.TXT for details. 7// 8//===----------------------------------------------------------------------===// 9 10// <utility> 11 12// template <class T1, class T2> struct pair 13 14// template <class T1, class T2> bool operator==(const pair<T1,T2>&, const pair<T1,T2>&); 15// template <class T1, class T2> bool operator!=(const pair<T1,T2>&, const pair<T1,T2>&); 16// template <class T1, class T2> bool operator< (const pair<T1,T2>&, const pair<T1,T2>&); 17// template <class T1, class T2> bool operator> (const pair<T1,T2>&, const pair<T1,T2>&); 18// template <class T1, class T2> bool operator>=(const pair<T1,T2>&, const pair<T1,T2>&); 19// template <class T1, class T2> bool operator<=(const pair<T1,T2>&, const pair<T1,T2>&); 20 21#include <utility> 22#include <cassert> 23 24int main() 25{ 26 { 27 typedef std::pair<int, short> P; 28 P p1(3, 4); 29 P p2(3, 4); 30 assert( (p1 == p2)); 31 assert(!(p1 != p2)); 32 assert(!(p1 < p2)); 33 assert( (p1 <= p2)); 34 assert(!(p1 > p2)); 35 assert( (p1 >= p2)); 36 } 37 { 38 typedef std::pair<int, short> P; 39 P p1(2, 4); 40 P p2(3, 4); 41 assert(!(p1 == p2)); 42 assert( (p1 != p2)); 43 assert( (p1 < p2)); 44 assert( (p1 <= p2)); 45 assert(!(p1 > p2)); 46 assert(!(p1 >= p2)); 47 } 48 { 49 typedef std::pair<int, short> P; 50 P p1(3, 2); 51 P p2(3, 4); 52 assert(!(p1 == p2)); 53 assert( (p1 != p2)); 54 assert( (p1 < p2)); 55 assert( (p1 <= p2)); 56 assert(!(p1 > p2)); 57 assert(!(p1 >= p2)); 58 } 59 { 60 typedef std::pair<int, short> P; 61 P p1(3, 4); 62 P p2(2, 4); 63 assert(!(p1 == p2)); 64 assert( (p1 != p2)); 65 assert(!(p1 < p2)); 66 assert(!(p1 <= p2)); 67 assert( (p1 > p2)); 68 assert( (p1 >= p2)); 69 } 70 { 71 typedef std::pair<int, short> P; 72 P p1(3, 4); 73 P p2(3, 2); 74 assert(!(p1 == p2)); 75 assert( (p1 != p2)); 76 assert(!(p1 < p2)); 77 assert(!(p1 <= p2)); 78 assert( (p1 > p2)); 79 assert( (p1 >= p2)); 80 } 81} 82