00001 #ifndef PROXYVECTOR_H 00002 #define PROXYVECTOR_H 00003 00004 #include "SundanceDefs.h" 00005 00006 #include "XMLInterface.h" 00007 00008 00009 namespace Sundance 00010 { 00011 00012 using namespace TSF; 00013 using std::string; 00014 00015 using std::ostream; 00016 00017 00018 class ProxyVector 00019 { 00020 public: 00021 ProxyVector(); 00022 ProxyVector(const string& id); 00023 ~ProxyVector(); 00024 00025 static void setInterface(const XMLInterface& interface); 00026 00027 double norm() const ; 00028 00029 void assign(const ProxyVector& rhs); 00030 00031 friend void daxpy(double a, const ProxyVector& x, const ProxyVector& y, 00032 ProxyVector& rtn); 00033 00034 void write(const string& filename) const ; 00035 00036 const string& id() const {return id_;} 00037 void setID(const string& id) {id_ = id;} 00038 private: 00039 00040 string id_; 00041 static XMLInterface interface_; 00042 }; 00043 00044 00045 00046 } 00047 #endif