Mathter
A configurable 3D math library for game developers.
Classes | Namespaces | Typedefs
Traits.hpp File Reference
#include "Definitions.hpp"
#include <cmath>
#include <type_traits>

Go to the source code of this file.

Classes

class  mathter::traits::VectorTraitsHelper< VectorT >
 
class  mathter::traits::VectorTraitsHelper< Vector< T_, Dim_, Packed_ > >
 
class  mathter::traits::VectorTraits< VectorT >
 
class  mathter::traits::MatrixTraitsHelper< MatrixT >
 
class  mathter::traits::MatrixTraitsHelper< Matrix< T_, Rows_, Columns_, Order_, Layout_, Packed_ > >
 
class  mathter::traits::MatrixTraits< MatrixT >
 
class  mathter::traits::OppositeLayout< Layout >
 
struct  mathter::traits::All< Cond, T >
 
struct  mathter::traits::All< Cond, Head, Rest... >
 
struct  mathter::traits::All< Cond >
 
struct  mathter::traits::Any< Cond, T >
 
struct  mathter::traits::Any< Cond, Head, Rest... >
 
struct  mathter::traits::Any< Cond >
 
struct  mathter::traits::TypeList< T >
 
struct  mathter::traits::ConcatTypeList< Tl1, Tl2 >
 
struct  mathter::traits::ConcatTypeList< TypeList< T... >, TypeList< U... > >
 
struct  mathter::traits::RepeatType< T, N >
 
struct  mathter::traits::IsVector< Arg >
 
struct  mathter::traits::IsVector< Vector< T, Dim, Packed > >
 
struct  mathter::traits::NotVector< Arg >
 
struct  mathter::traits::IsSwizzle< Arg >
 
struct  mathter::traits::IsSwizzle< Swizzle< T, Indices... > >
 
struct  mathter::traits::NotSwizzle< Arg >
 
struct  mathter::traits::IsVectorOrSwizzle< Arg >
 
struct  mathter::traits::IsMatrix< T >
 
struct  mathter::traits::IsMatrix< Matrix< T, Rows, Columns, Order, Layout, Packed > >
 
struct  mathter::traits::NotMatrix< T >
 
struct  mathter::traits::IsSubmatrix< T >
 
struct  mathter::traits::IsSubmatrix< SubmatrixHelper< M, Rows, Columns > >
 
struct  mathter::traits::NotSubmatrix< T >
 
struct  mathter::traits::IsQuaternion< Arg >
 
struct  mathter::traits::IsQuaternion< Quaternion< T, Packed > >
 
struct  mathter::traits::NotQuaternion< Arg >
 
struct  mathter::traits::IsScalar< T >
 
struct  mathter::traits::DimensionOf< U, Along >
 
struct  mathter::traits::DimensionOf< Vector< T, Dim, Packed >, 0 >
 
struct  mathter::traits::DimensionOf< Swizzle< T, Indices... > >
 
struct  mathter::traits::SumDimensions< Rest >
 
struct  mathter::traits::SumDimensions< Head, Rest... >
 
struct  mathter::traits::SumDimensions<>
 
struct  mathter::traits::HasSimd< VectorDataT >
 

Namespaces

 mathter::traits
 

Typedefs

template<class T , class U >
using mathter::traits::MatMulElemT = decltype(T() *U()+T()+U())