neoGFX
Cross-platform C++ app/game engine
neogfx::math::swizzle_array< V, T, Size > Struct Template Reference

#include <swizzle_array.hpp>

Public Types

typedef T value_type
 
typedef std::array< value_type, Size > array_type
 
typedef V vector_type
 

Public Attributes

union {
   array_type   v
 
   struct {
      value_type   x
 
      value_type   y
 
      value_type   z
 
   } 
 
   swizzle< vector_type, array_type, 2, 0, 0 >   xx
 
   swizzle< vector_type, array_type, 2, 0, 1 >   xy
 
   swizzle< vector_type, array_type, 2, 0, 2 >   xz
 
   swizzle< vector_type, array_type, 2, 1, 0 >   yx
 
   swizzle< vector_type, array_type, 2, 1, 1 >   yy
 
   swizzle< vector_type, array_type, 2, 1, 2 >   yz
 
   swizzle< vector_type, array_type, 2, 2, 0 >   zx
 
   swizzle< vector_type, array_type, 2, 2, 1 >   zy
 
   swizzle< vector_type, array_type, 2, 2, 2 >   zz
 
   swizzle< vector_type, array_type, 3, 0, 0, 0 >   xxx
 
   swizzle< vector_type, array_type, 3, 0, 0, 1 >   xxy
 
   swizzle< vector_type, array_type, 3, 0, 0, 2 >   xxz
 
   swizzle< vector_type, array_type, 3, 0, 1, 0 >   xyx
 
   swizzle< vector_type, array_type, 3, 0, 1, 1 >   xyy
 
   swizzle< vector_type, array_type, 3, 0, 1, 2 >   xyz
 
   swizzle< vector_type, array_type, 3, 1, 0, 0 >   yxx
 
   swizzle< vector_type, array_type, 3, 1, 0, 1 >   yxy
 
   swizzle< vector_type, array_type, 3, 1, 0, 2 >   yxz
 
   swizzle< vector_type, array_type, 3, 1, 1, 0 >   yyx
 
   swizzle< vector_type, array_type, 3, 1, 1, 1 >   yyy
 
   swizzle< vector_type, array_type, 3, 1, 1, 2 >   yyz
 
   swizzle< vector_type, array_type, 3, 1, 2, 0 >   yzx
 
   swizzle< vector_type, array_type, 3, 1, 2, 1 >   yzy
 
   swizzle< vector_type, array_type, 3, 1, 2, 2 >   yzz
 
   swizzle< vector_type, array_type, 3, 2, 0, 0 >   zxx
 
   swizzle< vector_type, array_type, 3, 2, 0, 1 >   zxy
 
   swizzle< vector_type, array_type, 3, 2, 0, 2 >   zxz
 
   swizzle< vector_type, array_type, 3, 2, 1, 0 >   zyx
 
   swizzle< vector_type, array_type, 3, 2, 1, 1 >   zyy
 
   swizzle< vector_type, array_type, 3, 2, 1, 2 >   zyz
 
   swizzle< vector_type, array_type, 3, 2, 2, 0 >   zzx
 
   swizzle< vector_type, array_type, 3, 2, 2, 1 >   zzy
 
   swizzle< vector_type, array_type, 3, 2, 2, 2 >   zzz
 
}; 
 

Detailed Description

template<typename V, typename T, uint32_t Size>
struct neogfx::math::swizzle_array< V, T, Size >

Definition at line 30 of file swizzle_array.hpp.

Member Typedef Documentation

◆ array_type

template<typename V, typename T, uint32_t Size>
typedef std::array<value_type, Size> neogfx::math::swizzle_array< V, T, Size >::array_type

Definition at line 33 of file swizzle_array.hpp.

◆ value_type

template<typename V, typename T, uint32_t Size>
typedef T neogfx::math::swizzle_array< V, T, Size >::value_type

Definition at line 32 of file swizzle_array.hpp.

◆ vector_type

template<typename V, typename T, uint32_t Size>
typedef V neogfx::math::swizzle_array< V, T, Size >::vector_type

Definition at line 34 of file swizzle_array.hpp.

Member Data Documentation

◆ @16

union { ... }

◆ v

template<typename V, typename T, uint32_t Size>
array_type neogfx::math::swizzle_array< V, T, Size >::v

Definition at line 38 of file swizzle_array.hpp.

◆ x

template<typename V, typename T, uint32_t Size>
value_type neogfx::math::swizzle_array< V, T, Size >::x

Definition at line 41 of file swizzle_array.hpp.

◆ xx

template<typename V, typename T, uint32_t Size>
swizzle<vector_type, array_type, 2, 0, 0> neogfx::math::swizzle_array< V, T, Size >::xx

Definition at line 45 of file swizzle_array.hpp.

◆ xxx

template<typename V, typename T, uint32_t Size>
swizzle<vector_type, array_type, 3, 0, 0, 0> neogfx::math::swizzle_array< V, T, Size >::xxx

Definition at line 54 of file swizzle_array.hpp.

◆ xxy

template<typename V, typename T, uint32_t Size>
swizzle<vector_type, array_type, 3, 0, 0, 1> neogfx::math::swizzle_array< V, T, Size >::xxy

Definition at line 55 of file swizzle_array.hpp.

◆ xxz

template<typename V, typename T, uint32_t Size>
swizzle<vector_type, array_type, 3, 0, 0, 2> neogfx::math::swizzle_array< V, T, Size >::xxz

Definition at line 56 of file swizzle_array.hpp.

◆ xy

template<typename V, typename T, uint32_t Size>
swizzle<vector_type, array_type, 2, 0, 1> neogfx::math::swizzle_array< V, T, Size >::xy

Definition at line 46 of file swizzle_array.hpp.

◆ xyx

template<typename V, typename T, uint32_t Size>
swizzle<vector_type, array_type, 3, 0, 1, 0> neogfx::math::swizzle_array< V, T, Size >::xyx

Definition at line 57 of file swizzle_array.hpp.

◆ xyy

template<typename V, typename T, uint32_t Size>
swizzle<vector_type, array_type, 3, 0, 1, 1> neogfx::math::swizzle_array< V, T, Size >::xyy

Definition at line 58 of file swizzle_array.hpp.

◆ xyz

template<typename V, typename T, uint32_t Size>
swizzle<vector_type, array_type, 3, 0, 1, 2> neogfx::math::swizzle_array< V, T, Size >::xyz

Definition at line 59 of file swizzle_array.hpp.

◆ xz

template<typename V, typename T, uint32_t Size>
swizzle<vector_type, array_type, 2, 0, 2> neogfx::math::swizzle_array< V, T, Size >::xz

Definition at line 47 of file swizzle_array.hpp.

◆ y

template<typename V, typename T, uint32_t Size>
value_type neogfx::math::swizzle_array< V, T, Size >::y

Definition at line 42 of file swizzle_array.hpp.

◆ yx

template<typename V, typename T, uint32_t Size>
swizzle<vector_type, array_type, 2, 1, 0> neogfx::math::swizzle_array< V, T, Size >::yx

Definition at line 48 of file swizzle_array.hpp.

◆ yxx

template<typename V, typename T, uint32_t Size>
swizzle<vector_type, array_type, 3, 1, 0, 0> neogfx::math::swizzle_array< V, T, Size >::yxx

Definition at line 60 of file swizzle_array.hpp.

◆ yxy

template<typename V, typename T, uint32_t Size>
swizzle<vector_type, array_type, 3, 1, 0, 1> neogfx::math::swizzle_array< V, T, Size >::yxy

Definition at line 61 of file swizzle_array.hpp.

◆ yxz

template<typename V, typename T, uint32_t Size>
swizzle<vector_type, array_type, 3, 1, 0, 2> neogfx::math::swizzle_array< V, T, Size >::yxz

Definition at line 62 of file swizzle_array.hpp.

◆ yy

template<typename V, typename T, uint32_t Size>
swizzle<vector_type, array_type, 2, 1, 1> neogfx::math::swizzle_array< V, T, Size >::yy

Definition at line 49 of file swizzle_array.hpp.

◆ yyx

template<typename V, typename T, uint32_t Size>
swizzle<vector_type, array_type, 3, 1, 1, 0> neogfx::math::swizzle_array< V, T, Size >::yyx

Definition at line 63 of file swizzle_array.hpp.

◆ yyy

template<typename V, typename T, uint32_t Size>
swizzle<vector_type, array_type, 3, 1, 1, 1> neogfx::math::swizzle_array< V, T, Size >::yyy

Definition at line 64 of file swizzle_array.hpp.

◆ yyz

template<typename V, typename T, uint32_t Size>
swizzle<vector_type, array_type, 3, 1, 1, 2> neogfx::math::swizzle_array< V, T, Size >::yyz

Definition at line 65 of file swizzle_array.hpp.

◆ yz

template<typename V, typename T, uint32_t Size>
swizzle<vector_type, array_type, 2, 1, 2> neogfx::math::swizzle_array< V, T, Size >::yz

Definition at line 50 of file swizzle_array.hpp.

◆ yzx

template<typename V, typename T, uint32_t Size>
swizzle<vector_type, array_type, 3, 1, 2, 0> neogfx::math::swizzle_array< V, T, Size >::yzx

Definition at line 66 of file swizzle_array.hpp.

◆ yzy

template<typename V, typename T, uint32_t Size>
swizzle<vector_type, array_type, 3, 1, 2, 1> neogfx::math::swizzle_array< V, T, Size >::yzy

Definition at line 67 of file swizzle_array.hpp.

◆ yzz

template<typename V, typename T, uint32_t Size>
swizzle<vector_type, array_type, 3, 1, 2, 2> neogfx::math::swizzle_array< V, T, Size >::yzz

Definition at line 68 of file swizzle_array.hpp.

◆ z

template<typename V, typename T, uint32_t Size>
value_type neogfx::math::swizzle_array< V, T, Size >::z

Definition at line 43 of file swizzle_array.hpp.

◆ zx

template<typename V, typename T, uint32_t Size>
swizzle<vector_type, array_type, 2, 2, 0> neogfx::math::swizzle_array< V, T, Size >::zx

Definition at line 51 of file swizzle_array.hpp.

◆ zxx

template<typename V, typename T, uint32_t Size>
swizzle<vector_type, array_type, 3, 2, 0, 0> neogfx::math::swizzle_array< V, T, Size >::zxx

Definition at line 69 of file swizzle_array.hpp.

◆ zxy

template<typename V, typename T, uint32_t Size>
swizzle<vector_type, array_type, 3, 2, 0, 1> neogfx::math::swizzle_array< V, T, Size >::zxy

Definition at line 70 of file swizzle_array.hpp.

◆ zxz

template<typename V, typename T, uint32_t Size>
swizzle<vector_type, array_type, 3, 2, 0, 2> neogfx::math::swizzle_array< V, T, Size >::zxz

Definition at line 71 of file swizzle_array.hpp.

◆ zy

template<typename V, typename T, uint32_t Size>
swizzle<vector_type, array_type, 2, 2, 1> neogfx::math::swizzle_array< V, T, Size >::zy

Definition at line 52 of file swizzle_array.hpp.

◆ zyx

template<typename V, typename T, uint32_t Size>
swizzle<vector_type, array_type, 3, 2, 1, 0> neogfx::math::swizzle_array< V, T, Size >::zyx

Definition at line 72 of file swizzle_array.hpp.

◆ zyy

template<typename V, typename T, uint32_t Size>
swizzle<vector_type, array_type, 3, 2, 1, 1> neogfx::math::swizzle_array< V, T, Size >::zyy

Definition at line 73 of file swizzle_array.hpp.

◆ zyz

template<typename V, typename T, uint32_t Size>
swizzle<vector_type, array_type, 3, 2, 1, 2> neogfx::math::swizzle_array< V, T, Size >::zyz

Definition at line 74 of file swizzle_array.hpp.

◆ zz

template<typename V, typename T, uint32_t Size>
swizzle<vector_type, array_type, 2, 2, 2> neogfx::math::swizzle_array< V, T, Size >::zz

Definition at line 53 of file swizzle_array.hpp.

◆ zzx

template<typename V, typename T, uint32_t Size>
swizzle<vector_type, array_type, 3, 2, 2, 0> neogfx::math::swizzle_array< V, T, Size >::zzx

Definition at line 75 of file swizzle_array.hpp.

◆ zzy

template<typename V, typename T, uint32_t Size>
swizzle<vector_type, array_type, 3, 2, 2, 1> neogfx::math::swizzle_array< V, T, Size >::zzy

Definition at line 76 of file swizzle_array.hpp.

◆ zzz

template<typename V, typename T, uint32_t Size>
swizzle<vector_type, array_type, 3, 2, 2, 2> neogfx::math::swizzle_array< V, T, Size >::zzz

Definition at line 77 of file swizzle_array.hpp.


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