file
TypeTraits.hType traits.
Contents
 Reference
Namespaces
 namespace Magnum
 Root namespace.
 namespace Magnum::Math
 Math library.
Classes

template<class T>struct Magnum::Math::IsScalar
 Whether
T
is an arithmetic scalar type. 
template<class T>struct Magnum::Math::IsVector
 Whether
T
is an arithmetic vector type. 
template<class T>struct Magnum::Math::IsIntegral
 Whether
T
is integral. 
template<class T>struct Magnum::Math::IsFloatingPoint
 Whether
T
is floatingpoint. 
template<class T>struct Magnum::Math::IsUnitless
 Whether
T
is a unitless tpye. 
template<class T>struct Magnum::Math::TypeTraits
 Traits class for builtin arithmetic types.
Typedefs

template<class T>using UnderlyingTypeOf = typename Implementation::UnderlyingType<T>::Type
 Underlying type of a math type.
Functions

template<class T>auto equal(T a, T b) > std::
enable_if <IsScalar<T>::value, bool>::type  Equality comparison of scalar types.

template<class T>auto notEqual(T a, T b) > std::
enable_if <IsScalar<T>::value, bool>::type  Nonequality comparison of scalar types.
Defines
 #define FLOAT_EQUALITY_PRECISION
 Precision when testing floats for equality.
 #define DOUBLE_EQUALITY_PRECISION
 Precision when testing doubles for equality.
 #define LONG_DOUBLE_EQUALITY_PRECISION
 Precision when testing long doubles for equality.
Define documentation
#define FLOAT_EQUALITY_PRECISION
Precision when testing floats for equality.
They have "at least" 6 significant digits of precision, taking one digit less for more headroom.
#define DOUBLE_EQUALITY_PRECISION
Precision when testing doubles for equality.
They have "at least" 15 significant digits of precision, taking one digit less for more headroom.
#define LONG_DOUBLE_EQUALITY_PRECISION
Precision when testing long doubles for equality.
They have "at least" 18 significant digits of precision, taking one digit less for more headroom.