safe numerics provides safe integer operations for C++ integers. Arithmetic operations in C++ are not guaranteed to yield the correct mathematical result. The feature is inherited from the early days of C, when the behavior of int, unsigned int, and others were designed to map closely to the underlying hardware. These types can silently overflow or change sign. This library contains drop-in replacements for the standard C types which throw exceptions whenever invalid operations occur.