34 |
34 |
35 template <typename T1, typename T2, |
35 template <typename T1, typename T2, |
36 typename LA1, typename LA2, typename RA1, typename RA2> |
36 typename LA1, typename LA2, typename RA1, typename RA2> |
37 bool operator<(const extended_pair<T1, LA1, T2, LA2>& left, |
37 bool operator<(const extended_pair<T1, LA1, T2, LA2>& left, |
38 const extended_pair<T1, RA1, T2, RA2>& right) { |
38 const extended_pair<T1, RA1, T2, RA2>& right) { |
39 if (left.first == right.first) return left.second == right.second; |
39 return left.first < right.first || |
40 return left.first < right.first; |
40 (!(right.first<left.first) && left.second < right.second); |
41 } |
41 } |
42 |
42 |
43 template <typename T1, typename T2, |
43 template <typename T1, typename T2, |
44 typename LA1, typename LA2, typename RA1, typename RA2> |
44 typename LA1, typename LA2, typename RA1, typename RA2> |
45 bool operator>(const extended_pair<T1, LA1, T2, LA2>& left, |
45 bool operator>(const extended_pair<T1, LA1, T2, LA2>& left, |