Vec
template<typename T, std::size_t L>
struct Vec;
In many respects, Vec
behaves a lot like std::array<>
, but with support for mathematical operations.
Member types
Member Type | Definition |
---|---|
value_type |
T |
Member functions
Member | Behavior |
---|---|
(constructor) | initalize using aggregate initialization |
(destructor) | destroy every element in the vectpr |
operator= | ovewrite the vector with another vector |
at | access specific element with bounds checking |
operator[] | access specific element |
data | access underlying array |
Non-member functions
Language support
Function | Behavior |
---|---|
begin | iterator to the beginning |
end | iterator to the end |
operator<< | print to stream |
Per-member operations
Function | Behavior |
---|---|
operator== | compares two vectors for equality |
operator!= | compares two vectors for inequality |
operator-= | per-member substraction |
operator+= | per-member addition |
operator*= | per-member multiplication |
operator/= | per-member division |
operator- | per-member substraction |
operator+ | per-member addition |
operator* | per-member multiplication |
operator/ | per-member division |
abs | per-member abs() |
min | per-member min() |
max | per-member max() |
Unary operations
Function | Behavior |
---|---|
operator-(unary) | negation |
Scalar operations
Function | Behavior |
---|---|
operator/=(scalar) | vector scaling |
operator*=(scalar) | vector scaling |
operator/(scalar) | vector scaling |
operator*(scalar) | vector scaling |
Geometric functions
Function | Behavior |
---|---|
lenght | get vector's L2 norm |
dot | dot product |
cross | cross product |