• Home
  • Raw
  • Download

Lines Matching refs:Src

148           typename Src,
152 IntegerRepresentation SrcSign = std::is_signed<Src>::value
159 template <typename Dst, typename Src, IntegerRepresentation Sign>
160 struct StaticDstRangeRelationToSrcRange<Dst, Src, Sign, Sign> {
162 MaxExponent<Dst>::value >= MaxExponent<Src>::value
169 template <typename Dst, typename Src>
171 Src,
175 MaxExponent<Dst>::value > MaxExponent<Src>::value
181 template <typename Dst, typename Src>
183 Src,
238 template <typename Dst, typename Src, template <typename> class Bounds>
240 using SrcLimits = std::numeric_limits<Src>;
245 (MaxExponent<Src>::value > MaxExponent<Dst>::value &&
277 typename Src,
282 IntegerRepresentation SrcSign = std::is_signed<Src>::value
286 StaticDstRangeRelationToSrcRange<Dst, Src>::value>
295 typename Src,
300 Src,
305 static constexpr RangeCheck Check(Src value) {
306 using SrcLimits = std::numeric_limits<Src>;
307 using DstLimits = NarrowingRange<Dst, Src, Bounds>;
318 template <typename Dst, typename Src, template <typename> class Bounds>
320 Src,
325 static constexpr RangeCheck Check(Src value) {
326 using DstLimits = NarrowingRange<Dst, Src, Bounds>;
333 template <typename Dst, typename Src, template <typename> class Bounds>
335 Src,
340 static constexpr RangeCheck Check(Src value) {
341 using DstLimits = NarrowingRange<Dst, Src, Bounds>;
349 template <typename Dst, typename Src, template <typename> class Bounds>
351 Src,
356 static constexpr RangeCheck Check(Src value) {
357 using DstLimits = NarrowingRange<Dst, Src, Bounds>;
358 using Promotion = decltype(Src() + Dst());
369 template <typename Dst, typename Src, template <typename> class Bounds>
371 Src,
376 static constexpr RangeCheck Check(Src value) {
377 using SrcLimits = std::numeric_limits<Src>;
378 using DstLimits = NarrowingRange<Dst, Src, Bounds>;
379 using Promotion = decltype(Src() + Dst());
381 value >= Src(0) && (DstLimits::lowest() == 0 ||
391 template <typename Dst, typename Src>
393 static const bool value = StaticDstRangeRelationToSrcRange<Dst, Src>::value ==
399 typename Src>
400 constexpr RangeCheck DstRangeRelationToSrcRange(Src value) {
401 static_assert(std::is_arithmetic<Src>::value, "Argument must be numeric.");
404 return DstRangeRelationToSrcRangeImpl<Dst, Src, Bounds>::Check(value);
667 template <typename Src>
669 typename base::internal::UnderlyingType<Src>::type>::type
670 as_signed(const Src value) {
679 template <typename Src>
681 typename base::internal::UnderlyingType<Src>::type>::type
682 as_unsigned(const Src value) {
813 template <typename Dst, typename Src>
815 return IsGreaterOrEqual<Dst, Src>::Test(std::numeric_limits<Dst>::max(),
816 std::numeric_limits<Src>::max());
819 template <typename Dst, typename Src>
821 return IsLessOrEqual<Dst, Src>::Test(std::numeric_limits<Dst>::lowest(),
822 std::numeric_limits<Src>::lowest());
825 template <typename Dst, typename Src>
827 return !IsMaxInRangeForNumericType<Dst, Src>()
829 : Dst(std::numeric_limits<Src>::max());
832 template <typename Dst, typename Src>
834 return !IsMinInRangeForNumericType<Dst, Src>()
836 : Dst(std::numeric_limits<Src>::lowest());
842 template <typename Dst, typename Src = Dst>
844 return is_min ? CommonMin<Dst, Src>() : CommonMax<Dst, Src>();