11 template <Primitive T>
16 template <Primitive T>
22 template <Primitive T>
23 template <Primitive U>
26 x =
static_cast<T
>(x + value);
27 y =
static_cast<T
>(y + value);
28 z =
static_cast<T
>(z + value);
31 template <Primitive T>
32 template <Primitive U>
35 x =
static_cast<T
>(x - value);
36 y =
static_cast<T
>(y - value);
37 z =
static_cast<T
>(z - value);
40 template <Primitive T>
41 template <Primitive U>
44 x =
static_cast<T
>(x * value);
45 y =
static_cast<T
>(y * value);
46 z =
static_cast<T
>(z * value);
49 template <Primitive T>
50 template <Primitive U>
53 x =
static_cast<T
>(x / value);
54 y =
static_cast<T
>(y / value);
55 z =
static_cast<T
>(z / value);
58 template <Primitive T>
59 template <Primitive U>
62 x =
static_cast<T
>(x % value);
63 y =
static_cast<T
>(y % value);
64 z =
static_cast<T
>(z % value);
68 template <Primitive T>
72 x =
static_cast<T
>(x + other.x);
73 y =
static_cast<T
>(y + other.y);
74 z =
static_cast<T
>(z + other.z);
77 template <Primitive T>
81 x =
static_cast<T
>(x - other.x);
82 y =
static_cast<T
>(y - other.y);
83 z =
static_cast<T
>(z - other.z);
86 template <Primitive T>
90 x =
static_cast<T
>(x * other.x);
91 y =
static_cast<T
>(y * other.y);
92 z =
static_cast<T
>(z * other.z);
95 template <Primitive T>
99 x =
static_cast<T
>(x / other.x);
100 y =
static_cast<T
>(y / other.y);
101 z =
static_cast<T
>(z / other.z);
105 template <Primitive T>
109 x =
static_cast<T
>(x % other.x);
110 y =
static_cast<T
>(y % other.y);
111 z =
static_cast<T
>(z % other.z);
114 template <Primitive T>
120 template <Primitive T>
127 template <Primitive T>
134 template <Primitive T>
135 template <
size_t n, Primitive U>
139 for (
size_t i = 0; i < n; i++)
141 rv.
data[i] =
static_cast<U
>(data[i]);
146 template <Primitive T>
Provides the implementation of a 3D reference vector.
Internal detail definition of a reference vector with fixed size L and type T
Definition of the mathematical vector with fixed size L and type T
std::array< T, size > data
The underlying data of the vector.