/*---------------------------- solver_control.h ---------------------------*/
+#include <base/subscriptor.h>
+
/**
* Control class for iterative solvers.
* #check()# can be replaced in derived classes to allow for more
* sophisticated tests.
*/
-class SolverControl {
+class SolverControl : public Subscriptor
+{
public:
/**
* Return states of the check
SolverControl (const unsigned int n, const double tol,
const bool log_history = false);
+ /**
+ * Virtual destructor is needed
+ * as there are virtual functions
+ * in this class.
+ */
+ virtual ~SolverControl();
+
/**
* Decide about success or failure
* of an iteration. This function
ReductionControl (const unsigned int maxiter,
const double tolerance,
const double reduce);
+
+ /**
+ * Virtual destructor is needed
+ * as there are virtual functions
+ * in this class.
+ */
+ virtual ~ReductionControl();
/**
* Decide about success or failure
/*---------------------------- vector_memory.h ---------------------------*/
-
+#include <base/subscriptor.h>
/**
* Memory management for vectors. This class is used by all
* applied by the user according to his needs.
*/
template<class Vector>
-class VectorMemory {
+class VectorMemory : public Subscriptor
+{
public:
+
+ /**
+ * Virtual destructor is needed
+ * as there are virtual functions
+ * in this class.
+ */
+ virtual ~VectorMemory() {};
+
/**
* Return new vector from the pool.
*/