From f0fa230ef2fbe6559a6b4d7fb8988bd54ca92217 Mon Sep 17 00:00:00 2001
From: Oliver Sander <sander@igpm.rwth-aachen.de>
Date: Fri, 14 Nov 2014 13:05:30 +0000
Subject: [PATCH] Make BasisType a template parameter

[[Imported from SVN: r9967]]
---
 dune/gfe/trustregionsolver.hh | 12 +++---------
 1 file changed, 3 insertions(+), 9 deletions(-)

diff --git a/dune/gfe/trustregionsolver.hh b/dune/gfe/trustregionsolver.hh
index 064052a7..3fc5c871 100644
--- a/dune/gfe/trustregionsolver.hh
+++ b/dune/gfe/trustregionsolver.hh
@@ -20,11 +20,13 @@
 #include <dune/gfe/feassembler.hh>
 
 /** \brief Trust-region solver  */
-template <class GridType, class VectorType>
+template <class BasisType, class VectorType>
 class TrustRegionSolver
     : public IterativeSolver<VectorType,
                              Dune::BitSetVector<VectorType::value_type::dimension> >
 {
+    typedef typename BasisType::GridView::Grid GridType;
+
     const static int blocksize = VectorType::value_type::dimension;
 
     const static int gridDim = GridType::dimension;
@@ -37,14 +39,6 @@ class TrustRegionSolver
     typedef Dune::BlockVector<Dune::FieldVector<field_type, blocksize> >           CorrectionType;
     typedef VectorType                                                             SolutionType;
 
-#ifdef THIRD_ORDER
-    typedef P3NodalBasis<typename GridType::LeafGridView,double> BasisType;
-#elif defined SECOND_ORDER
-    typedef P2NodalBasis<typename GridType::LeafGridView,double> BasisType;
-#else
-    typedef P1NodalBasis<typename GridType::LeafGridView,double> BasisType;
-#endif
-
 public:
 
     TrustRegionSolver()
-- 
GitLab