| OLD | NEW | 
|---|
| 1 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ | 1 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ | 
| 2 /* This Source Code Form is subject to the terms of the Mozilla Public | 2 /* This Source Code Form is subject to the terms of the Mozilla Public | 
| 3  * License, v. 2.0. If a copy of the MPL was not distributed with this file, | 3  * License, v. 2.0. If a copy of the MPL was not distributed with this file, | 
| 4  * You can obtain one at http://mozilla.org/MPL/2.0/. */ | 4  * You can obtain one at http://mozilla.org/MPL/2.0/. */ | 
| 5 | 5 | 
| 6 /* Provides checked integers, detecting integer overflow and divide-by-0. */ | 6 /* Provides checked integers, detecting integer overflow and divide-by-0. */ | 
| 7 | 7 | 
| 8 // Necessary modifications are made to the original CheckedInt.h file when | 8 // Necessary modifications are made to the original CheckedInt.h file when | 
| 9 // incorporating it into WebKit: | 9 // incorporating it into WebKit: | 
| 10 // 1) Comment out #define MOZ_CHECKEDINT_ENABLE_MOZ_ASSERTS | 10 // 1) Comment out #define MOZ_CHECKEDINT_ENABLE_MOZ_ASSERTS | 
| (...skipping 730 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 741 namespace detail { | 741 namespace detail { | 
| 742 | 742 | 
| 743 template<typename T, typename U> | 743 template<typename T, typename U> | 
| 744 struct CastToCheckedIntImpl | 744 struct CastToCheckedIntImpl | 
| 745 { | 745 { | 
| 746     typedef CheckedInt<T> ReturnType; | 746     typedef CheckedInt<T> ReturnType; | 
| 747     static CheckedInt<T> run(U u) { return u; } | 747     static CheckedInt<T> run(U u) { return u; } | 
| 748 }; | 748 }; | 
| 749 | 749 | 
| 750 template<typename T> | 750 template<typename T> | 
| 751 struct CastToCheckedIntImpl<T, CheckedInt<T> > | 751 struct CastToCheckedIntImpl<T, CheckedInt<T>> | 
| 752 { | 752 { | 
| 753     typedef const CheckedInt<T>& ReturnType; | 753     typedef const CheckedInt<T>& ReturnType; | 
| 754     static const CheckedInt<T>& run(const CheckedInt<T>& u) { return u; } | 754     static const CheckedInt<T>& run(const CheckedInt<T>& u) { return u; } | 
| 755 }; | 755 }; | 
| 756 | 756 | 
| 757 } // namespace detail | 757 } // namespace detail | 
| 758 | 758 | 
| 759 template<typename T, typename U> | 759 template<typename T, typename U> | 
| 760 inline typename detail::CastToCheckedIntImpl<T, U>::ReturnType | 760 inline typename detail::CastToCheckedIntImpl<T, U>::ReturnType | 
| 761 castToCheckedInt(U u) | 761 castToCheckedInt(U u) | 
| (...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 809 typedef CheckedInt<int16_t>  CheckedInt16; | 809 typedef CheckedInt<int16_t>  CheckedInt16; | 
| 810 typedef CheckedInt<uint16_t> CheckedUint16; | 810 typedef CheckedInt<uint16_t> CheckedUint16; | 
| 811 typedef CheckedInt<int32_t>  CheckedInt32; | 811 typedef CheckedInt<int32_t>  CheckedInt32; | 
| 812 typedef CheckedInt<uint32_t> CheckedUint32; | 812 typedef CheckedInt<uint32_t> CheckedUint32; | 
| 813 typedef CheckedInt<int64_t>  CheckedInt64; | 813 typedef CheckedInt<int64_t>  CheckedInt64; | 
| 814 typedef CheckedInt<uint64_t> CheckedUint64; | 814 typedef CheckedInt<uint64_t> CheckedUint64; | 
| 815 | 815 | 
| 816 } // namespace blink | 816 } // namespace blink | 
| 817 | 817 | 
| 818 #endif /* mozilla_CheckedInt_h_ */ | 818 #endif /* mozilla_CheckedInt_h_ */ | 
| OLD | NEW | 
|---|