Exiv2
|
Overflow checks for integers. More...
#include <limits>
#include <stdexcept>
Classes | |
struct | Safe::Internal::is_signed< T > |
Helper struct to determine whether a type is signed or unsigned. More... | |
struct | Safe::Internal::enable_if< B, T > |
Helper struct for SFINAE, from C++11. More... | |
struct | Safe::Internal::enable_if< true, T > |
Specialization of enable_if for the case B == true. More... | |
struct | Safe::Internal::fallback_add_overflow< T, typename > |
Fallback overflow checker, specialized via SFINAE. More... | |
struct | Safe::Internal::fallback_add_overflow< T, typename enable_if< is_signed< T >::VALUE >::type > |
Overload of fallback_add_overflow for signed integers. More... | |
struct | Safe::Internal::fallback_add_overflow< T, typename enable_if<!is_signed< T >::VALUE >::type > |
Overload of fallback_add_overflow for unsigned integers. More... | |
struct | Safe::Internal::builtin_add_overflow< T > |
Overflow checker using compiler intrinsics. More... | |
Namespaces | |
Safe | |
Arithmetic operations with overflow checks. | |
Safe::Internal | |
Helper structs for providing integer overflow checks. | |
Functions | |
template<typename T > | |
T | Safe::add (T summand_1, T summand_2) |
Safe addition, throws an exception on overflow. More... | |
Overflow checks for integers.