Lines Matching refs:Dst
20 template <typename Dst, typename Src>
22 return internal::DstRangeRelationToSrcRange<Dst>(value) ==
47 template <typename Dst, typename Src>
48 inline Dst checked_cast(Src value) {
49 CHECK(IsValueInRangeForNumericType<Dst>(value));
50 return static_cast<Dst>(value);
74 template <typename Dst,
77 inline Dst saturated_cast(Src value) {
79 if (std::numeric_limits<Dst>::is_iec559)
80 return static_cast<Dst>(value);
82 switch (internal::DstRangeRelationToSrcRange<Dst>(value)) {
84 return static_cast<Dst>(value);
87 return std::numeric_limits<Dst>::min();
90 return std::numeric_limits<Dst>::max();
94 return NaNHandler::template HandleNaN<Dst>();
98 return static_cast<Dst>(value);
104 template <typename Dst, typename Src>
105 inline Dst strict_cast(Src value) {
108 static_assert(std::numeric_limits<Dst>::is_specialized,
110 static_assert((internal::StaticDstRangeRelationToSrcRange<Dst, Src>::value ==
119 return static_cast<Dst>(value);
151 template <typename Dst>
152 operator Dst() const {
153 return strict_cast<Dst>(value_);