1.1 --- a/src/work/deba/extended_pair.h Sun Apr 17 18:57:22 2005 +0000
1.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
1.3 @@ -1,65 +0,0 @@
1.4 -// -*- c++ -*-
1.5 -#ifndef EXTENDED_PAIR_H
1.6 -#define EXTENDED_PAIR_H
1.7 -
1.8 -template <typename T1, typename A1, typename T2, typename A2>
1.9 -struct extended_pair {
1.10 - typedef T1 first_type;
1.11 - typedef T2 second_type;
1.12 -
1.13 - extended_pair() : first(), second() {}
1.14 -
1.15 - extended_pair(A1 f, A2 s) : first(f), second(s) {}
1.16 -
1.17 - template <class Pair>
1.18 - extended_pair(const Pair& pair) : first(pair.first), second(pair.second) {}
1.19 -
1.20 - T1 first;
1.21 - T2 second;
1.22 -};
1.23 -
1.24 -template <typename T1, typename T2,
1.25 - typename LA1, typename LA2, typename RA1, typename RA2>
1.26 -bool operator==(const extended_pair<T1, LA1, T2, LA2>& left,
1.27 - const extended_pair<T1, RA1, T2, RA2>& right) {
1.28 - return left.first == right.first && left.second == right.second;
1.29 -}
1.30 -
1.31 -template <typename T1, typename T2,
1.32 - typename LA1, typename LA2, typename RA1, typename RA2>
1.33 -bool operator!=(const extended_pair<T1, LA1, T2, LA2>& left,
1.34 - const extended_pair<T1, RA1, T2, RA2>& right) {
1.35 - return !(left == right);
1.36 -}
1.37 -
1.38 -template <typename T1, typename T2,
1.39 - typename LA1, typename LA2, typename RA1, typename RA2>
1.40 -bool operator<(const extended_pair<T1, LA1, T2, LA2>& left,
1.41 - const extended_pair<T1, RA1, T2, RA2>& right) {
1.42 - if (left.first == right.first) return left.second == right.second;
1.43 - return left.first < right.first;
1.44 -}
1.45 -
1.46 -template <typename T1, typename T2,
1.47 - typename LA1, typename LA2, typename RA1, typename RA2>
1.48 -bool operator>(const extended_pair<T1, LA1, T2, LA2>& left,
1.49 - const extended_pair<T1, RA1, T2, RA2>& right) {
1.50 - return right < left;
1.51 -}
1.52 -
1.53 -template <typename T1, typename T2,
1.54 - typename LA1, typename LA2, typename RA1, typename RA2>
1.55 -bool operator<=(const extended_pair<T1, LA1, T2, LA2>& left,
1.56 - const extended_pair<T1, RA1, T2, RA2>& right) {
1.57 - return !(right > left);
1.58 -}
1.59 -
1.60 -template <typename T1, typename T2,
1.61 - typename LA1, typename LA2, typename RA1, typename RA2>
1.62 -bool operator>=(const extended_pair<T1, LA1, T2, LA2>& left,
1.63 - const extended_pair<T1, RA1, T2, RA2>& right) {
1.64 - return !(right < left);
1.65 -}
1.66 -
1.67 -
1.68 -#endif