|
Vector< T, N > | operator* () const |
|
VectorIterator & | operator++ () |
|
VectorIterator< T, N > | operator++ (int) |
|
template<typename U > |
| Vector (Vector< U, N > other) |
|
T & | operator[] (std::size_t index) |
| subscript operator, throws on invalid subscript
|
|
T | operator[] (std::size_t index) const |
|
template<typename OT > |
Vector< T, N > & | operator+= (const Vector< OT, N > &v) |
|
template<typename OT > |
Vector< T, N > & | operator-= (const Vector< OT, N > &v) |
|
template<typename S > |
Vector< T, N > & | operator*= (S scalar) |
|
template<typename S > |
Vector< T, N > & | operator/= (S scalar) |
|
Vector< T, N > | operator+ () const |
|
Vector< T, N > | operator- () const |
|
bool | operator== (const Vector< T, N > &other) const |
|
bool | operator!= (const Vector< T, N > &other) const |
|
bool | operator< (const Vector< T, N > &other) const |
|
bool | operator> (const Vector< T, N > &other) const |
|
bool | operator<= (const Vector< T, N > &other) const |
|
bool | operator>= (const Vector< T, N > &other) const |
|
T | lengthSquared () const |
|
template<typename Tout = decltype(sqrt(T(0)))> |
Tout | length () const |
|
auto | phi () const -> decltype(atan2(T(0), T(0))) |
|
auto | theta () const -> decltype(acos(T(0))) |
|
T | linearSize () const |
|
Vector< T, N > & | normalize () |
|
Vector< T, N > | normalized () const |
|
template<typename To > |
Vector< T, N > & | scale (const Vector< To, N > &o) |
|
template<typename To > |
Vector< T, N > | scaled (const Vector< To, N > &o) |
|
template<typename Ta > |
Vector< T, N > & | rotate (Ta phi, Ta theta) |
|
template<typename Ta > |
Vector< T, N > | rotated (Ta phi, Ta theta) const |
|
template<typename To > |
Vector< T, N > & | reflect (const Vector< To, N > &normal) |
|
template<typename To > |
auto | reflected (const Vector< To, N > &normal) const -> Vector< decltype(T(0)-To(0)), N > |
|
template<typename... Ts> |
| VectorImpl (Ts...vals) |
|