36 #ifndef EASTL_UTILITY_H 37 #define EASTL_UTILITY_H 40 #include <stk_util/util/config_eastl.h> 44 #pragma warning(push) // VC++ generates a bogus warning that you cannot code away. 45 #pragma warning(disable: 4619) // There is no warning number 'number'. 46 #pragma warning(disable: 4217) // Member template functions cannot be used for copy-assignment or copy-construction. 47 #pragma warning(disable: 4512) // 'class' : assignment operator could not be generated. // This disabling would best be put elsewhere. 70 inline bool operator!=(
const T& x,
const T& y)
74 inline bool operator>(
const T& x,
const T& y)
78 inline bool operator<=(
const T& x,
const T& y)
82 inline bool operator>=(
const T& x,
const T& y)
93 template <
typename T1,
typename T2>
96 typedef T1 first_type;
97 typedef T2 second_type;
104 pair(
const T1& x,
const T2& y);
106 template <
typename U,
typename V>
126 template <
typename T>
129 typedef T result_type;
131 const T& operator()(
const T& x)
const 142 template <
typename Pair>
145 typedef typename Pair::first_type result_type;
147 const result_type& operator()(
const Pair& x)
const 156 template <
typename Pair>
159 typedef typename Pair::second_type result_type;
161 const result_type& operator()(
const Pair& x)
const 173 template <
typename T1,
typename T2>
181 template <
typename T1,
typename T2>
182 inline pair<T1, T2>::pair(
const T1& x)
189 template <
typename T1,
typename T2>
190 inline pair<T1, T2>::pair(
const T1& x,
const T2& y)
191 : first(x), second(y)
197 template <
typename T1,
typename T2>
198 template <
typename U,
typename V>
199 inline pair<T1, T2>::pair(
const pair<U, V>& p)
200 : first(p.first), second(p.second)
212 template <
typename T1,
typename T2>
213 inline bool operator==(
const pair<T1, T2>& a,
const pair<T1, T2>& b)
215 return ((a.first == b.first) && (a.second == b.second));
219 template <
typename T1,
typename T2>
220 inline bool operator<(const pair<T1, T2>& a,
const pair<T1, T2>& b)
226 return ((a.first < b.first) || (!(b.first < a.first) && (a.second < b.second)));
230 template <
typename T1,
typename T2>
231 inline bool operator!=(
const pair<T1, T2>& a,
const pair<T1, T2>& b)
237 template <
typename T1,
typename T2>
238 inline bool operator>(
const pair<T1, T2>& a,
const pair<T1, T2>& b)
244 template <
typename T1,
typename T2>
245 inline bool operator>=(
const pair<T1, T2>& a,
const pair<T1, T2>& b)
251 template <
typename T1,
typename T2>
252 inline bool operator<=(const pair<T1, T2>& a,
const pair<T1, T2>& b)
275 template <
typename T1,
typename T2>
282 template <
typename T1,
typename T2>
283 inline pair<T1, T2> make_pair_ref(
const T1& a,
const T2& b)
285 return pair<T1, T2>(a, b);
297 #endif // Header include guard pair< T1, T2 > make_pair(T1 a, T2 b)
EA Standard Template Library.