構成 | ネームスペース | 関数

include/IntegerOperator.hpp

安全な整数演算を提供する. [詳細]

#include <limits>
#include <stdexcept>
#include <iostream>

構成

struct  NSSafeCalculation::impl::overflow_cast_impl< T, U, TIsSigned, UIsSigned, TIsBigger >
struct  NSSafeCalculation::impl::overflow_cast_impl< T, U, false, false, false >
struct  NSSafeCalculation::impl::overflow_cast_impl< T, U, false, true, false >
struct  NSSafeCalculation::impl::overflow_cast_impl< T, U, true, false, false >
struct  NSSafeCalculation::impl::overflow_cast_impl< T, U, true, true, false >
struct  NSSafeCalculation::impl::no_overflow_cast_impl< T, U, TIsSigned, UIsSigned, TIsBigger >
struct  NSSafeCalculation::impl::no_overflow_cast_impl< T, U, false, false, false >
struct  NSSafeCalculation::impl::no_overflow_cast_impl< T, U, false, true, false >
struct  NSSafeCalculation::impl::no_overflow_cast_impl< T, U, true, false, false >
struct  NSSafeCalculation::impl::no_overflow_cast_impl< T, U, true, true, false >
struct  NSSafeCalculation::overflow_static_cast< T >
 オーバーフローすると例外を発生させるstatic_cast. [詳細]
struct  NSSafeCalculation::no_overflow_static_cast< T >
 オーバーフローするとキャスト先の型の最大または最小値になるstatic_cast. [詳細]

ネームスペース

namespace  NSSafeCalculation
namespace  NSSafeCalculation::impl

関数

template<typename T >
NSSafeCalculation::OverflowAdd (const T &lhs, const T &rhs) throw (std::overflow_error)
template<typename T >
NSSafeCalculation::OverflowSub (const T &lhs, const T &rhs) throw (std::overflow_error)
template<typename T >
NSSafeCalculation::OverflowMul (const T &lhs, const T &rhs) throw (std::overflow_error)
template<typename T >
NSSafeCalculation::OverflowDiv (const T &lhs, const T &rhs) throw (std::overflow_error, std::logic_error)
template<typename T >
NSSafeCalculation::NoOverflowAdd (const T &lhs, const T &rhs) throw ()
template<typename T >
NSSafeCalculation::NoOverflowSub (const T &lhs, const T &rhs) throw ()
template<typename T >
NSSafeCalculation::NoOverflowMul (const T &lhs, const T &rhs) throw ()
template<typename T >
NSSafeCalculation::NoOverflowDiv (const T &lhs, const T &rhs) throw (std::logic_error)

説明

安全な整数演算を提供する.