LAMA
/home/brandes/workspace/LAMA/src/lama/solver/SolutionProxy.hpp
Go to the documentation of this file.
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_