Index: webrtc/base/safe_conversions.h |
diff --git a/webrtc/base/safe_conversions.h b/webrtc/base/safe_conversions.h |
deleted file mode 100644 |
index 51239bc65dd33ceec4bf68ce7ce8d662dbaa13c9..0000000000000000000000000000000000000000 |
--- a/webrtc/base/safe_conversions.h |
+++ /dev/null |
@@ -1,70 +0,0 @@ |
-/* |
- * Copyright 2014 The WebRTC Project Authors. All rights reserved. |
- * |
- * Use of this source code is governed by a BSD-style license |
- * that can be found in the LICENSE file in the root of the source |
- * tree. An additional intellectual property rights grant can be found |
- * in the file PATENTS. All contributing project authors may |
- * be found in the AUTHORS file in the root of the source tree. |
- */ |
- |
-// Borrowed from Chromium's src/base/numerics/safe_conversions.h. |
- |
-#ifndef WEBRTC_BASE_SAFE_CONVERSIONS_H_ |
-#define WEBRTC_BASE_SAFE_CONVERSIONS_H_ |
- |
-#include <limits> |
- |
-#include "webrtc/base/checks.h" |
-#include "webrtc/base/safe_conversions_impl.h" |
- |
-namespace rtc { |
- |
-// Convenience function that returns true if the supplied value is in range |
-// for the destination type. |
-template <typename Dst, typename Src> |
-inline bool IsValueInRangeForNumericType(Src value) { |
- return internal::RangeCheck<Dst>(value) == internal::TYPE_VALID; |
-} |
- |
-// checked_cast<> is analogous to static_cast<> for numeric types, |
-// except that it CHECKs that the specified numeric conversion will not |
-// overflow or underflow. NaN source will always trigger a CHECK. |
-template <typename Dst, typename Src> |
-inline Dst checked_cast(Src value) { |
- RTC_CHECK(IsValueInRangeForNumericType<Dst>(value)); |
- return static_cast<Dst>(value); |
-} |
- |
-// saturated_cast<> is analogous to static_cast<> for numeric types, except |
-// that the specified numeric conversion will saturate rather than overflow or |
-// underflow. NaN assignment to an integral will trigger a RTC_CHECK condition. |
-template <typename Dst, typename Src> |
-inline Dst saturated_cast(Src value) { |
- // Optimization for floating point values, which already saturate. |
- if (std::numeric_limits<Dst>::is_iec559) |
- return static_cast<Dst>(value); |
- |
- switch (internal::RangeCheck<Dst>(value)) { |
- case internal::TYPE_VALID: |
- return static_cast<Dst>(value); |
- |
- case internal::TYPE_UNDERFLOW: |
- return std::numeric_limits<Dst>::min(); |
- |
- case internal::TYPE_OVERFLOW: |
- return std::numeric_limits<Dst>::max(); |
- |
- // Should fail only on attempting to assign NaN to a saturated integer. |
- case internal::TYPE_INVALID: |
- FATAL(); |
- return std::numeric_limits<Dst>::max(); |
- } |
- |
- FATAL(); |
- return static_cast<Dst>(value); |
-} |
- |
-} // namespace rtc |
- |
-#endif // WEBRTC_BASE_SAFE_CONVERSIONS_H_ |