Lines Matching refs:Src
52 template <typename Src>
53 CheckedNumeric(const CheckedNumeric<Src>& rhs)
56 template <typename Src>
57 CheckedNumeric(Src value, RangeConstraint validity)
62 template <typename Src>
63 CheckedNumeric(Src value)
65 COMPILE_ASSERT(std::numeric_limits<Src>::is_specialized,
113 template <typename Src> CheckedNumeric& operator+=(Src rhs);
114 template <typename Src> CheckedNumeric& operator-=(Src rhs);
115 template <typename Src> CheckedNumeric& operator*=(Src rhs);
116 template <typename Src> CheckedNumeric& operator/=(Src rhs);
117 template <typename Src> CheckedNumeric& operator%=(Src rhs);
165 // returned when Src is the same type as T.
166 template <typename Src>
168 Src u,
169 typename std::enable_if<std::numeric_limits<Src>::is_specialized,
174 template <typename Src>
176 const CheckedNumeric<Src>& u,
177 typename std::enable_if<!std::is_same<Src, T>::value, int>::type = 0) {
217 template <typename Src> \
218 CheckedNumeric<T>& CheckedNumeric<T>::operator COMPOUND_OP(Src rhs) { \
219 *this = CheckedNumeric<T>::cast(*this) OP CheckedNumeric<Src>::cast(rhs); \
223 template <typename T, typename Src> \
224 CheckedNumeric<typename ArithmeticPromotion<T, Src>::type> operator OP( \
225 const CheckedNumeric<Src>& lhs, const CheckedNumeric<T>& rhs) { \
226 typedef typename ArithmeticPromotion<T, Src>::type Promotion; \
227 if (IsIntegerArithmeticSafe<Promotion, T, Src>::value) \
235 template <typename T, typename Src> \
236 CheckedNumeric<typename ArithmeticPromotion<T, Src>::type> operator OP( \
237 const CheckedNumeric<T>& lhs, Src rhs) { \
238 typedef typename ArithmeticPromotion<T, Src>::type Promotion; \
239 if (IsIntegerArithmeticSafe<Promotion, T, Src>::value) \
246 template <typename T, typename Src> \
247 CheckedNumeric<typename ArithmeticPromotion<T, Src>::type> operator OP( \
248 Src lhs, const CheckedNumeric<T>& rhs) { \
249 typedef typename ArithmeticPromotion<T, Src>::type Promotion; \
250 if (IsIntegerArithmeticSafe<Promotion, T, Src>::value) \