Default specialization for 2D vector type. More...

#include <math.h>

Public Types

using VT = T
 
using VecT = TVec3< T, SIMD::None >
 
template<typename U >
using TParam = std::conditional_t< std::is_arithmetic< T >::value, U, const U & >
 
using ParamT = TParam< T >
 
using RetT = ParamT
 

Public Member Functions

LM_INLINE TVec2 (ParamT x, ParamT y)
 
LM_INLINE TVec2 (const VecT &v)
 
LM_INLINE TVec2 (ParamT s)
 
LM_INLINE TVec2 (std::initializer_list< VT > l)
 
LM_INLINE auto operator[] (int i) -> VT &
 
LM_INLINE auto operator[] (int i) const -> RetT
 
LM_INLINE auto operator= (const VecT &v) -> VecT &
 
LM_INLINE auto operator+= (const VecT &v) -> VecT &
 
LM_INLINE auto operator-= (const VecT &v) -> VecT &
 
LM_INLINE auto operator*= (const VecT &v) -> VecT &
 
LM_INLINE auto operator/= (const VecT &v) -> VecT &
 

Public Attributes

union TVec2< T, SIMD::None >:: { ... }  
 
VT v_ [NC]
 
VT x
 
VT y
 

Static Public Attributes

static constexpr MathObjectType ObjT = MathObjectType::Vec
 
static constexpr int NC = 2
 

Detailed Description

template<typename T>
struct TVec2< T, SIMD::None >

Default specialization for 2D vector type.