00001 //----------------------------------------------------------------------------- 00002 // Author: Jim Holmström 00003 // Date: 2002-02-13 00004 //----------------------------------------------------------------------------- 00005 00006 #ifndef __VECTOR_HH 00007 #define __VECTOR_HH 00008 00009 #include <vector> 00010 #include <iostream> 00011 #include "Exception.hpp" 00012 00016 class Vector : public std::vector<double> 00017 { 00018 public: 00022 Vector(){} 00026 Vector(unsigned int size) : std::vector<double>(size) {} 00027 00034 double SquaredDistance(Vector const & v) const; 00035 00042 double Distance(Vector const & v) const; 00043 00044 friend Vector operator- (Vector const & u, Vector const & v); 00045 friend Vector operator+ (Vector const & u, Vector const & v); 00046 friend Vector operator+= (Vector & u, Vector const & v); 00047 friend Vector operator* (Vector const & u, double d); 00048 friend std::ostream & operator<< (std::ostream & o, Vector const & v); 00049 00050 }; 00051 00052 #endif