LAMA
|
00001 00034 #ifndef LAMA_ITERATIONCOUNT_HPP_ 00035 #define LAMA_ITERATIONCOUNT_HPP_ 00036 00037 // for dll_import 00038 #include <lama/config.hpp> 00039 00040 // base classes 00041 #include <lama/solver/criteria/Criterion.hpp> 00042 00043 namespace lama 00044 { 00045 00046 class IterativeSolver; 00047 00057 class LAMA_DLL_IMPORTEXPORT IterationCount : public Criterion 00058 { 00059 public: 00063 IterationCount(); 00064 00082 IterationCount( const IndexType iterationExtrema ); 00083 00087 IterationCount( const IterationCount &other); 00088 00092 virtual ~IterationCount(); 00093 00094 virtual bool isSatisfied( const IterativeSolver& solver ); 00095 00096 IndexType getIterationExtrema() const; 00097 void setIterationExtrema( IndexType iterationExtrema ); 00098 00099 virtual void writeAt(std::ostream& stream) const; 00100 00101 protected: 00102 00103 LAMA_LOG_DECL_STATIC_LOGGER(logger); 00104 00105 private: 00106 00107 IndexType mIterationExtrema; 00108 }; 00109 00110 } //namespace lama 00111 00112 #endif // LAMA_ITERATIONCOUNT_HPP_