webkit  2cdf99a9e3038c7e01b3c37e8ad903ecbe5eecf1
https://github.com/WebKit/webkit
Classes | Public Types | Public Member Functions | Static Public Member Functions | List of all members
base::internal::CheckedNumeric< T > Class Template Reference

#include <safe_math.h>

Public Types

typedef T type
 

Public Member Functions

 CheckedNumeric ()
 
template<typename Src >
 CheckedNumeric (const CheckedNumeric< Src > &rhs)
 
template<typename Src >
 CheckedNumeric (Src value, RangeConstraint validity)
 
template<typename Src >
 CheckedNumeric (Src value)
 
template<typename Src >
 CheckedNumeric (StrictNumeric< Src > value)
 
bool IsValid () const
 
T ValueOrDie () const
 
T ValueOrDefault (T default_value) const
 
T ValueFloating () const
 
RangeConstraint validity () const
 
T ValueUnsafe () const
 
template<typename Src >
CheckedNumericoperator+= (Src rhs)
 
template<typename Src >
CheckedNumericoperator-= (Src rhs)
 
template<typename Src >
CheckedNumericoperator*= (Src rhs)
 
template<typename Src >
CheckedNumericoperator/= (Src rhs)
 
template<typename Src >
CheckedNumericoperator%= (Src rhs)
 
CheckedNumeric operator- () const
 
CheckedNumeric Abs () const
 
CheckedNumeric< typename UnsignedOrFloatForSize< T >::typeUnsignedAbs () const
 
CheckedNumericoperator++ ()
 
CheckedNumeric operator++ (int)
 
CheckedNumericoperator-- ()
 
CheckedNumeric operator-- (int)
 

Static Public Member Functions

template<typename Src >
static CheckedNumeric< Tcast (Src u, typename std::enable_if< std::numeric_limits< Src >::is_specialized, int >::type=0)
 
template<typename Src >
static CheckedNumeric< Tcast (const CheckedNumeric< Src > &u, typename std::enable_if<!std::is_same< Src, T >::value, int >::type=0)
 
static const CheckedNumeric< T > & cast (const CheckedNumeric< T > &u)
 

Member Typedef Documentation

◆ type

template<typename T>
typedef T base::internal::CheckedNumeric< T >::type

Constructor & Destructor Documentation

◆ CheckedNumeric() [1/5]

template<typename T>
base::internal::CheckedNumeric< T >::CheckedNumeric ( )
inline

◆ CheckedNumeric() [2/5]

template<typename T>
template<typename Src >
base::internal::CheckedNumeric< T >::CheckedNumeric ( const CheckedNumeric< Src > &  rhs)
inline

◆ CheckedNumeric() [3/5]

template<typename T>
template<typename Src >
base::internal::CheckedNumeric< T >::CheckedNumeric ( Src  value,
RangeConstraint  validity 
)
inline

◆ CheckedNumeric() [4/5]

template<typename T>
template<typename Src >
base::internal::CheckedNumeric< T >::CheckedNumeric ( Src  value)
inline

◆ CheckedNumeric() [5/5]

template<typename T>
template<typename Src >
base::internal::CheckedNumeric< T >::CheckedNumeric ( StrictNumeric< Src >  value)
inline

Member Function Documentation

◆ Abs()

template<typename T>
CheckedNumeric base::internal::CheckedNumeric< T >::Abs ( ) const
inline

◆ cast() [1/3]

template<typename T>
template<typename Src >
static CheckedNumeric<T> base::internal::CheckedNumeric< T >::cast ( Src  u,
typename std::enable_if< std::numeric_limits< Src >::is_specialized, int >::type  = 0 
)
inlinestatic

◆ cast() [2/3]

template<typename T>
template<typename Src >
static CheckedNumeric<T> base::internal::CheckedNumeric< T >::cast ( const CheckedNumeric< Src > &  u,
typename std::enable_if<!std::is_same< Src, T >::value, int >::type  = 0 
)
inlinestatic

◆ cast() [3/3]

template<typename T>
static const CheckedNumeric<T>& base::internal::CheckedNumeric< T >::cast ( const CheckedNumeric< T > &  u)
inlinestatic

◆ IsValid()

template<typename T>
bool base::internal::CheckedNumeric< T >::IsValid ( ) const
inline

◆ operator%=()

template<typename T>
template<typename Src >
CheckedNumeric& base::internal::CheckedNumeric< T >::operator%= ( Src  rhs)

◆ operator*=()

template<typename T>
template<typename Src >
CheckedNumeric& base::internal::CheckedNumeric< T >::operator*= ( Src  rhs)

◆ operator++() [1/2]

template<typename T>
CheckedNumeric& base::internal::CheckedNumeric< T >::operator++ ( )
inline

◆ operator++() [2/2]

template<typename T>
CheckedNumeric base::internal::CheckedNumeric< T >::operator++ ( int  )
inline

◆ operator+=()

template<typename T>
template<typename Src >
CheckedNumeric& base::internal::CheckedNumeric< T >::operator+= ( Src  rhs)

◆ operator-()

template<typename T>
CheckedNumeric base::internal::CheckedNumeric< T >::operator- ( ) const
inline

◆ operator--() [1/2]

template<typename T>
CheckedNumeric& base::internal::CheckedNumeric< T >::operator-- ( )
inline

◆ operator--() [2/2]

template<typename T>
CheckedNumeric base::internal::CheckedNumeric< T >::operator-- ( int  )
inline

◆ operator-=()

template<typename T>
template<typename Src >
CheckedNumeric& base::internal::CheckedNumeric< T >::operator-= ( Src  rhs)

◆ operator/=()

template<typename T>
template<typename Src >
CheckedNumeric& base::internal::CheckedNumeric< T >::operator/= ( Src  rhs)

◆ UnsignedAbs()

template<typename T>
CheckedNumeric<typename UnsignedOrFloatForSize<T>::type> base::internal::CheckedNumeric< T >::UnsignedAbs ( ) const
inline

◆ validity()

template<typename T>
RangeConstraint base::internal::CheckedNumeric< T >::validity ( ) const
inline

◆ ValueFloating()

template<typename T>
T base::internal::CheckedNumeric< T >::ValueFloating ( ) const
inline

◆ ValueOrDefault()

template<typename T>
T base::internal::CheckedNumeric< T >::ValueOrDefault ( T  default_value) const
inline

◆ ValueOrDie()

template<typename T>
T base::internal::CheckedNumeric< T >::ValueOrDie ( ) const
inline

◆ ValueUnsafe()

template<typename T>
T base::internal::CheckedNumeric< T >::ValueUnsafe ( ) const
inline

The documentation for this class was generated from the following file: