From 2b76d8dd185aeca538f3a8ecbe4fd7d1af545f54 Mon Sep 17 00:00:00 2001
From: Jonathan Youett <youett@math.fu-berlin.de>
Date: Tue, 6 Jan 2015 11:56:33 +0100
Subject: [PATCH] Use scope-resolution to distinguish between dune-solvers and
 dune-istl loopsolver class

---
 dune/solvers/iterationsteps/mmgstep.cc           | 4 ++--
 dune/solvers/iterationsteps/obstacletnnmgstep.hh | 2 +-
 dune/solvers/solvers/loopsolver.cc               | 4 ++--
 dune/solvers/test/cgsteptest.cc                  | 2 +-
 dune/solvers/test/mmgtest.cc                     | 2 +-
 dune/solvers/test/multigridtest.cc               | 2 +-
 dune/solvers/test/obstacletnnmgtest.cc           | 2 +-
 7 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/dune/solvers/iterationsteps/mmgstep.cc b/dune/solvers/iterationsteps/mmgstep.cc
index 470f5a59..456a5f9b 100644
--- a/dune/solvers/iterationsteps/mmgstep.cc
+++ b/dune/solvers/iterationsteps/mmgstep.cc
@@ -66,9 +66,9 @@ preprocess()
     for (size_t i=0; i<obstacleHierarchy_.size()-1; i++)
         obstacleHierarchy_[i] = new ObstacleVectorType();
 
-    if (typeid(*this->basesolver_) == typeid(LoopSolver<VectorType>)) {
+    if (typeid(*this->basesolver_) == typeid(::LoopSolver<VectorType>)) {
 
-        LoopSolver<VectorType>* loopBaseSolver = dynamic_cast<LoopSolver<VectorType>* > (this->basesolver_);
+        ::LoopSolver<VectorType>* loopBaseSolver = dynamic_cast<::LoopSolver<VectorType>* > (this->basesolver_);
      
         typedef ProjectedBlockGSStep<MatrixType, VectorType> SmootherType;
         
diff --git a/dune/solvers/iterationsteps/obstacletnnmgstep.hh b/dune/solvers/iterationsteps/obstacletnnmgstep.hh
index edbcd619..ce21fcb4 100644
--- a/dune/solvers/iterationsteps/obstacletnnmgstep.hh
+++ b/dune/solvers/iterationsteps/obstacletnnmgstep.hh
@@ -74,7 +74,7 @@ class ObstacleTNNMGStep
         typedef TruncatedBlockGSStep<Matrix, Vector> LinearSmoother;
         typedef MultigridStep<Matrix, Vector, BitVector> LinearMultigridStep;
         typedef EnergyNorm<Matrix, Vector> LinearBaseSolverEnergyNorm;
-        typedef LoopSolver<Vector> LinearBaseSolver;
+        typedef ::LoopSolver<Vector> LinearBaseSolver;
 
     public:
 
diff --git a/dune/solvers/solvers/loopsolver.cc b/dune/solvers/solvers/loopsolver.cc
index 296130c8..96ab9c1a 100644
--- a/dune/solvers/solvers/loopsolver.cc
+++ b/dune/solvers/solvers/loopsolver.cc
@@ -20,13 +20,13 @@ void ::LoopSolver<VectorType, BitVectorType>::check() const
 }
 
 template <class VectorType, class BitVectorType>
-void LoopSolver<VectorType, BitVectorType>::preprocess()
+void ::LoopSolver<VectorType, BitVectorType>::preprocess()
 {
     this->iterationStep_->preprocess();
 }
 
 template <class VectorType, class BitVectorType>
-void LoopSolver<VectorType, BitVectorType>::solve()
+void ::LoopSolver<VectorType, BitVectorType>::solve()
 {
 
     int i;
diff --git a/dune/solvers/test/cgsteptest.cc b/dune/solvers/test/cgsteptest.cc
index 5734429a..e88134b9 100644
--- a/dune/solvers/test/cgsteptest.cc
+++ b/dune/solvers/test/cgsteptest.cc
@@ -117,7 +117,7 @@ struct CGTestSuite
         // Test 3: Dune::Solvers::CGStep (dune-solvers)
         {
             Dune::Solvers::CGStep<Matrix,Vector> cgStep(A, u3, rhs3);
-            LoopSolver<Vector> solver(&cgStep, maxIterations, stepTol, &energyNorm,
+            ::LoopSolver<Vector> solver(&cgStep, maxIterations, stepTol, &energyNorm,
                                       Solver::QUIET, false); // absolute error
             solver.check();
             solver.preprocess();
diff --git a/dune/solvers/test/mmgtest.cc b/dune/solvers/test/mmgtest.cc
index 2dd4ed22..c9ae6c11 100644
--- a/dune/solvers/test/mmgtest.cc
+++ b/dune/solvers/test/mmgtest.cc
@@ -98,7 +98,7 @@ void solveObstacleProblemByMMGSolver(const GridType& grid, const MatrixType& mat
 
     EnergyNorm<MatrixType,VectorType>* h1SemiNorm = new EnergyNorm<MatrixType,VectorType>(mat);
 
-    LoopSolver<VectorType> solver (mmgStep,
+    ::LoopSolver<VectorType> solver (mmgStep,
                                    100,    // iterations
                                    1e-6,   // tolerance
                                    h1SemiNorm,
diff --git a/dune/solvers/test/multigridtest.cc b/dune/solvers/test/multigridtest.cc
index a0d7206a..f07a5c94 100644
--- a/dune/solvers/test/multigridtest.cc
+++ b/dune/solvers/test/multigridtest.cc
@@ -81,7 +81,7 @@ struct MultigridTestSuite
                     u[i][j] = u_ex[i][j];
 
         typedef EnergyNorm<Matrix, Vector> Norm;
-        typedef LoopSolver<Vector> Solver;
+        typedef ::LoopSolver<Vector> Solver;
         typedef MultigridStep<Matrix, Vector, BitVector> MGStep;
         typedef MultigridTransfer<Vector, BitVector, Matrix> Transfer;
         typedef CompressedMultigridTransfer<Vector, BitVector, Matrix> TransferImplementation;
diff --git a/dune/solvers/test/obstacletnnmgtest.cc b/dune/solvers/test/obstacletnnmgtest.cc
index a3ba631b..af9c067c 100644
--- a/dune/solvers/test/obstacletnnmgtest.cc
+++ b/dune/solvers/test/obstacletnnmgtest.cc
@@ -63,7 +63,7 @@ void solveObstacleProblemByTNNMG(const GridType& grid, const MatrixType& mat, Ve
     typedef VectorType Vector;
     typedef MatrixType Matrix;
     typedef EnergyNorm<Matrix, Vector> Norm;
-    typedef LoopSolver<Vector> Solver;
+    typedef ::LoopSolver<Vector> Solver;
     typedef ObstacleTNNMGStep<Matrix, Vector> TNNMGStep;
     typedef typename TNNMGStep::Transfer Transfer;
     typedef typename TNNMGStep::BoxConstraintVector BoxConstraintVector;
-- 
GitLab