31 #ifndef _STLP_INTERNAL_PAIR_H 32 #define _STLP_INTERNAL_PAIR_H 34 #if defined (_STLP_CLASS_PARTIAL_SPECIALIZATION) 35 # ifndef _STLP_TYPE_TRAITS_H 39 # if !defined (_STLP_MOVE_CONSTRUCT_FWK_H) && !defined (_STLP_NO_MOVE_SEMANTIC) 46 template <
class _T1,
class _T2>
53 #if defined (_STLP_CONST_CONSTRUCTOR_BUG) 60 #if defined (_STLP_MEMBER_TEMPLATES) 61 template <
class _U1,
class _U2>
67 #if defined (_STLP_CLASS_PARTIAL_SPECIALIZATION) && !defined (_STLP_NO_MOVE_SEMANTIC) 76 template <
class _T1,
class _T2>
80 template <
class _T1,
class _T2>
86 #if defined (_STLP_USE_SEPARATE_RELOPS_NAMESPACE) 87 template <
class _T1,
class _T2>
89 {
return !(__x == __y); }
91 template <
class _T1,
class _T2>
95 template <
class _T1,
class _T2>
97 {
return !(__y < __x); }
99 template <
class _T1,
class _T2>
101 {
return !(__x < __y); }
104 #if defined (_STLP_FUNCTION_TMPL_PARTIAL_ORDER) && !defined (_STLP_NO_EXTENSIONS) 105 template <
class _T1,
class _T2,
int _Sz>
107 _T2
const (&__y)[_Sz])
110 template <
class _T1,
class _T2,
int _Sz>
115 template <
class _T1,
class _T2,
int _Sz1,
int _Sz2>
117 _T2
const (&__y)[_Sz2]) {
119 static_cast<_T2 const*>(__y));
123 template <
class _T1,
class _T2>
129 #if defined (_STLP_USE_NAMESPACES) || !defined (_STLP_USE_SEPARATE_RELOPS_NAMESPACE) 134 {
return !(__x == __y); }
138 {
return __y < __x; }
142 {
return !(__y < __x); }
146 {
return !(__x < __y); }
151 #if defined (_STLP_CLASS_PARTIAL_SPECIALIZATION) 154 template <
class _T1,
class _T2>
158 typedef typename _Land2<
typename _T1Traits::has_trivial_default_constructor,
160 typedef typename _Land2<
typename _T1Traits::has_trivial_copy_constructor,
162 typedef typename _Land2<
typename _T1Traits::has_trivial_assignment_operator,
164 typedef typename _Land2<
typename _T1Traits::has_trivial_destructor,
169 # if !defined (_STLP_NO_MOVE_SEMANTIC) 170 template <
class _T1,
class _T2>
#define __TRIVIAL_DESTRUCTOR(__type)
__bool2type< pod >::_Ret is_POD_type
_STLP_END_NAMESPACE _STLP_BEGIN_RELOPS_NAMESPACE bool _STLP_CALL operator!=(const _Tp &__x, const _Tp &__y)
pair< _T1, _T2 > _STLP_CALL make_pair(_T1 __x, _T2 __y)
pair(const _T1 &__a, const _T2 &__b)
#define _STLP_BEGIN_RELOPS_NAMESPACE
bool _STLP_CALL operator>(const _Tp &__x, const _Tp &__y)
bool _STLP_CALL operator<(const pair< _T1, _T2 > &__x, const pair< _T1, _T2 > &__y)
void get(int argc, const char *argv[])
bool _STLP_CALL operator==(const pair< _T1, _T2 > &__x, const pair< _T1, _T2 > &__y)
bool _STLP_CALL operator<=(const _Tp &__x, const _Tp &__y)
__bool2type< trivial_constructor >::_Ret has_trivial_default_constructor
_STLP_TYPENAME_ON_RETURN_TYPE _MoveSourceTraits< _Tp >::_Type _AsMoveSource(_Tp &src)
__bool2type< trivial_assign >::_Ret has_trivial_assignment_operator
#define _STLP_END_NAMESPACE
__bool2type< trivial_copy >::_Ret has_trivial_copy_constructor
#define _STLP_END_RELOPS_NAMESPACE
bool _STLP_CALL operator>=(const _Tp &__x, const _Tp &__y)
#define _STLP_BEGIN_NAMESPACE
__bool2type< trivial_destructor >::_Ret has_trivial_destructor