00001 #ifndef PTV_INCLUDED 00002 #define PTV_INCLUDED 00003 00004 #include <SyFi.h> 00005 00006 00007 class ptv { 00008 private: 00009 int dim; 00010 double* v; 00011 static double tol; 00012 00013 public: 00014 ptv(); 00015 ptv(int size_, double* v_); 00016 ptv(const ptv& p); 00017 00018 ~ptv(); 00019 00020 const int size() const; 00021 00022 const double& operator [] (int i) const; 00023 double& operator [] (int i); 00024 ptv& operator = (const ptv& p); 00025 00026 bool is_less(const ptv& p) const; 00027 }; 00028 00029 struct ptv_is_less : public std::binary_function<ptv, ptv, bool> { 00030 bool operator() (const ptv &lh, const ptv &rh) const { return lh.is_less(rh); } 00031 }; 00032 00033 std::ostream & operator<< ( std::ostream& os, const ptv& p); 00034 00035 00036 #endif 00037