Exiv2
Classes | Namespaces | Functions
safe_op.hpp File Reference

Overflow checks for integers. More...

#include <limits>
#include <stdexcept>

Go to the source code of this file.

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...
 

Namespaces

 Safe
 Arithmetic operations with overflow checks.
 
 Safe::Internal
 Helper functions for providing integer overflow checks.
 

Functions

template<typename T >
bool ::type Safe::Internal::fallback_add_overflow (T summand_1, T summand_2, T &result)
 
template<typename T >
Safe::add (T summand_1, T summand_2)
 Safe addition, throws an exception on overflow. More...
 
template<typename T >
Internal::enable_if< Internal::is_signed< T >::VALUE, T >::type Safe::abs (T num) throw ()
 Calculates the absolute value of a number without producing negative values. More...
 

Detailed Description

Overflow checks for integers.

Author
Dan Čermák (D4N) dan.cermak@cgc-instruments.com
Date
14-Dec-17, D4N: created