Lines Matching refs:T2
65 template <typename T1, typename T2>
67 : LargerIntImpl<sizeof(T1) < sizeof(T2) || sizeof(T1) < sizeof(int*)
79 typename T2,
81 std::is_signed<T2>::value>::type* = nullptr>
82 constexpr bool Cmp(T1 a, T2 b) {
90 typename T2,
92 std::is_unsigned<T2>::value &&
93 LargerInt<T2, T1>::value>::type* = nullptr>
94 constexpr bool Cmp(T1 a, T2 b) {
95 return Op::Op(a, static_cast<typename LargerInt<T2, T1>::type>(b));
102 typename T2,
104 std::is_signed<T2>::value &&
105 LargerInt<T1, T2>::value>::type* = nullptr>
106 constexpr bool Cmp(T1 a, T2 b) {
107 return Op::Op(static_cast<typename LargerInt<T1, T2>::type>(a), b);
114 typename T2,
116 std::is_unsigned<T2>::value &&
117 !LargerInt<T2, T1>::value>::type* = nullptr>
118 constexpr bool Cmp(T1 a, T2 b) {
126 typename T2,
128 std::is_signed<T2>::value &&
129 !LargerInt<T1, T2>::value>::type* = nullptr>
130 constexpr bool Cmp(T1 a, T2 b) {
136 template <typename T1, typename T2> \
137 static constexpr bool Op(T1 a, T2 b) { \
152 template <typename T1, typename T2> \
154 typename std::enable_if<IsIntlike<T1>::value && IsIntlike<T2>::value, \
155 bool>::type Safe##name(T1 a, T2 b) { \
159 template <typename T1, typename T2> \
161 typename std::enable_if<!IsIntlike<T1>::value || !IsIntlike<T2>::value, \
163 const T2& b) { \