Class Vector

template<unsigned N, typename T>
class Vector

Vector.

Subclassed by Matrix< 4, 4, std::complex< double > >

Public Functions

inline Vector()

Default constructor.

template<typename U>
inline Vector(const Vector<N, U> &s)

Construct from another Vector

template<typename U>
inline Vector &operator=(const Vector<N, U> &s)

Set this instance equal to another Vector

inline Vector &operator=(const T &scalar)

Set this instance equal to a scalar.

inline Vector &operator+=(const Vector &s)

Vector addition.

inline Vector &operator-=(const Vector &s)

Vector subtraction.

template<typename U>
inline Vector &operator*=(const U &a)

Scalar multiplication.

Vector multiplication Vector& operator *= (const Vector& s) { *this = *this * s; return *this; }

template<typename U>
inline Vector &operator/=(const U &a)

Scalar division.

inline bool operator==(const Vector &b) const

Equality.

inline bool operator!=(const Vector &b) const

Inequality.

inline T &operator[](unsigned n)

Access to elements.

inline const T &operator[](unsigned n) const

Alternative access to elements.

inline unsigned size() const

Dimension of data.

Public Static Functions

static inline const Vector basis(unsigned i)

Return the basis vector.

Friends

template<typename U>
inline friend Vector operator+(Vector a, const Vector<N, U> &b)

Vector addition.

template<typename U>
inline friend Vector operator-(Vector a, const Vector<N, U> &b)

Vector subtraction.

inline friend Vector operator*(Vector a, T c)

Scalar multiplication.

inline friend Vector operator*(T c, Vector a)

Scalar multiplication.

inline friend T operator*(const Vector &a, const Vector &b)

Dot product.

inline friend Vector operator/(Vector a, T c)

Scalar division.

inline friend Vector operator-(Vector s)

Negation.