From 9489401f9be7f4eef78f3a7dc66be9530f0796c4 Mon Sep 17 00:00:00 2001
From: Oliver Sander <oliver.sander@tu-dresden.de>
Date: Tue, 20 Dec 2016 22:02:17 +0100
Subject: [PATCH] Move classes IterationStep and LoopSolver into the namespace
 Dune::Solvers

... and reimport them back into the global namespace.  That ensures
backward compatibility for the time being.

In the long run, we want all code in dune-solvers in that namespace,
to avoid potential name clashes.
---
 dune/solvers/iterationsteps/iterationstep.hh | 12 ++++++++++++
 dune/solvers/solvers/loopsolver.cc           |  6 +++---
 dune/solvers/solvers/loopsolver.hh           | 12 ++++++++++++
 3 files changed, 27 insertions(+), 3 deletions(-)

diff --git a/dune/solvers/iterationsteps/iterationstep.hh b/dune/solvers/iterationsteps/iterationstep.hh
index 94bf5963..1e26f605 100644
--- a/dune/solvers/iterationsteps/iterationstep.hh
+++ b/dune/solvers/iterationsteps/iterationstep.hh
@@ -10,6 +10,10 @@
 #include <dune/solvers/common/canignore.hh>
 #include <dune/solvers/common/numproc.hh>
 
+namespace Dune {
+
+namespace Solvers {
+
     //! Base class for iteration steps being called by an iterative solver
 template<class VectorType, class BitVectorType = Dune::BitSetVector<VectorType::block_type::dimension> >
 class IterationStep : virtual public NumProc, public CanIgnore<BitVectorType>
@@ -80,4 +84,12 @@ class IterationStep : virtual public NumProc, public CanIgnore<BitVectorType>
         VectorType* x_;
     };
 
+}  // namespace Solvers
+
+}  // namespace Dune
+
+// For backward compatibility: will be removed eventually
+
+using Dune::Solvers::IterationStep;
+
 #endif
diff --git a/dune/solvers/solvers/loopsolver.cc b/dune/solvers/solvers/loopsolver.cc
index c90363c4..4f076874 100644
--- a/dune/solvers/solvers/loopsolver.cc
+++ b/dune/solvers/solvers/loopsolver.cc
@@ -8,7 +8,7 @@
 #include <dune/solvers/solvers/solver.hh>
 
 template <class VectorType, class BitVectorType>
-void ::LoopSolver<VectorType, BitVectorType>::check() const
+void Dune::Solvers::LoopSolver<VectorType, BitVectorType>::check() const
 {
     if (!iterationStep_)
         DUNE_THROW(SolverError, "You need to supply an iteration step to an iterative solver!");
@@ -20,13 +20,13 @@ void ::LoopSolver<VectorType, BitVectorType>::check() const
 }
 
 template <class VectorType, class BitVectorType>
-void ::LoopSolver<VectorType, BitVectorType>::preprocess()
+void Dune::Solvers::LoopSolver<VectorType, BitVectorType>::preprocess()
 {
     this->iterationStep_->preprocess();
 }
 
 template <class VectorType, class BitVectorType>
-void ::LoopSolver<VectorType, BitVectorType>::solve()
+void Dune::Solvers::LoopSolver<VectorType, BitVectorType>::solve()
 {
 
     int i;
diff --git a/dune/solvers/solvers/loopsolver.hh b/dune/solvers/solvers/loopsolver.hh
index b81b08a3..41e784ef 100644
--- a/dune/solvers/solvers/loopsolver.hh
+++ b/dune/solvers/solvers/loopsolver.hh
@@ -10,6 +10,10 @@
 #include <dune/solvers/common/defaultbitvector.hh>
 
 
+namespace Dune {
+
+namespace Solvers {
+
 /** \brief A solver which consists of a single loop
   *
   *  This class basically implements a loop that calls an iteration procedure
@@ -101,6 +105,14 @@ protected:
     int iter_;
 };
 
+}  // namespace Solvers
+
+}  // namespace Dune
+
+// For backward compatibility: will be removed eventually
+
+using Dune::Solvers::LoopSolver;
+
 #include "loopsolver.cc"
 
 #endif
-- 
GitLab