WoMax Documentation

# stl_pair.h

Go to the documentation of this file.

    00001
    00002
    00066 #ifndef _PAIR_H
    00067 #define _PAIR_H 1
    00068
    00069 namespace std
    00070 {
    00072   template<class _T1, class _T2>
    00073     struct pair
    00074     {
    00075       typedef _T1 first_type;
    00076       typedef _T2 second_type;
    00077
    00078       _T1 first;
    00079       _T2 second;
    00080
    00081       // _GLIBCXX_RESOLVE_LIB_DEFECTS
    00082       // 265.  std::pair::pair() effects overly restrictive
    00085       pair()
    00086       : first(), second() { }
    00087
    00089       pair(const _T1& __a, const _T2& __b)
    00090       : first(__a), second(__b) { }
    00091
    00093       template<class _U1, class _U2>
    00094         pair(const pair<_U1, _U2>& __p)
    00095         : first(__p.first), second(__p.second) { }
    00096     };
    00097
    00099   template<class _T1, class _T2>
    00100     inline bool
    00101     operator==(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y)
    00102     { return __x.first == __y.first && __x.second == __y.second; }
    00103
    00105   template<class _T1, class _T2>
    00106     inline bool
    00107     operator<(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y)
    00108     { return __x.first < __y.first
    00109              || (!(__y.first < __x.first) && __x.second < __y.second); }
    00110
    00112   template<class _T1, class _T2>
    00113     inline bool
    00114     operator!=(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y)
    00115     { return !(__x == __y); }
    00116
    00118   template<class _T1, class _T2>
    00119     inline bool
    00120     operator>(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y)
    00121     { return __y < __x; }
    00122
    00124   template<class _T1, class _T2>
    00125     inline bool
    00126     operator<=(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y)
    00127     { return !(__y < __x); }
    00128
    00130   template<class _T1, class _T2>
    00131     inline bool
    00132     operator>=(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y)
    00133     { return !(__x < __y); }
    00134
    00145   // _GLIBCXX_RESOLVE_LIB_DEFECTS
    00146   // 181.  make_pair() unintended behavior
    00147   template<class _T1, class _T2>
    00148     inline pair<_T1, _T2>
    00149     make_pair(_T1 __x, _T2 __y)
    00150     { return pair<_T1, _T2>(__x, __y); }
    00151 } // namespace std
    00152
    00154
    00155 #endif /* _PAIR_H */