template<typename U>
Vector(const Vector<U, N> &v);
- T &operator[](unsigned i);
- const T &operator[](unsigned i) const;
+ T &operator[](unsigned i) { return data[i]; }
+ const T &operator[](unsigned i) const { return data[i]; }
Vector &operator*=(T);
Vector &operator/=(T);
std::copy(v.data, v.data+N, data);
}
-template<typename T, unsigned N>
-T &Vector<T, N>::operator[](unsigned i)
-{
- return data[i];
-}
-
-template<typename T, unsigned N>
-const T &Vector<T, N>::operator[](unsigned i) const
-{
- return data[i];
-}
-
template<typename T, unsigned N>
inline Vector<T, N> &Vector<T, N>::operator*=(T s)
{