LAMA
|
00001 00034 #ifndef LAMA_SOLUTIONPROXY_HPP_ 00035 #define LAMA_SOLUTIONPROXY_HPP_ 00036 00037 // for dll_import 00038 #include <lama/config.hpp> 00039 00040 // others 00041 #include <lama/Vector.hpp> 00042 00043 namespace lama 00044 { 00045 00054 class LAMA_DLL_IMPORTEXPORT SolutionProxy 00055 { 00056 public: 00057 00061 SolutionProxy(); 00062 00072 SolutionProxy(Vector* const solution); 00073 00079 ~SolutionProxy(); 00080 00086 const Vector& getConstReference() const; 00087 00097 Vector& operator*(); 00098 00106 void operator=(Vector* const newVector); 00107 00114 bool isDirty() const; 00115 00121 void setDirty(bool isDirty); 00122 00130 Vector& getReference(); 00131 00132 std::auto_ptr<Vector> create(); 00133 00134 void swap( Vector*& other); 00135 00136 private: 00137 00141 Vector* mSolution; 00142 00146 bool mIsDirty; 00147 }; 00148 00149 } // namespace lama 00150 00151 #endif // LAMA_SOLUTIONPROXY_HPP_