29 #include <boost/type_traits.hpp>
36 template<
class _T1,
class _T2>
53 pair(
typename boost::remove_reference<_T1>::type& __a,
54 typename boost::remove_reference<_T2>::type& __b) :
59 template<
class _U1,
class _U2>
66 template<
class _T1,
class _T2>
72 template<
class _T1,
class _T2>
73 inline bool operator<(const pair<_T1, _T2>& __x,
const pair<_T1, _T2>& __y) {
74 return __x.
first < __y.first || (!(__y.first < __x.first) && __x.second
79 template<
class _T1,
class _T2>
85 template<
class _T1,
class _T2>
91 template<
class _T1,
class _T2>
92 inline bool operator<=(const pair<_T1, _T2>& __x,
const pair<_T1, _T2>& __y) {
97 template<
class _T1,
class _T2>
114 template<
class _T1,
class _T2>