From 582dbd93094af1f9d5bad7648d80062387adbe89 Mon Sep 17 00:00:00 2001
From: Elias Pipping <elias.pipping@fu-berlin.de>
Date: Wed, 21 Dec 2011 18:30:25 +0100
Subject: [PATCH] Make VTKFunctionPtr const

---
 dune/tectonic/myvtkwriter.hh | 3 ++-
 src/one-body-sample.cc       | 9 ++++-----
 2 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/dune/tectonic/myvtkwriter.hh b/dune/tectonic/myvtkwriter.hh
index dea55cb4..54bd37cb 100644
--- a/dune/tectonic/myvtkwriter.hh
+++ b/dune/tectonic/myvtkwriter.hh
@@ -1,4 +1,5 @@
 // copied from <dune/grid/io/file/vtk/vtkwriter.hh>
+// so that VTKFunctionPtr can be a const pointer
 
 // -*- tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*-
 // vi: set et ts=4 sw=2 sts=2:
@@ -87,7 +88,7 @@ template <class GridView> class MyVTKWriter {
 
 public:
   typedef Dune::VTKFunction<GridView> VTKFunction;
-  typedef shared_ptr<VTKFunction> VTKFunctionPtr;
+  typedef shared_ptr<VTKFunction const> VTKFunctionPtr;
 
 protected:
   typedef typename std::list<VTKFunctionPtr>::const_iterator FunctionIterator;
diff --git a/src/one-body-sample.cc b/src/one-body-sample.cc
index 35b4d2f3..07847e05 100644
--- a/src/one-body-sample.cc
+++ b/src/one-body-sample.cc
@@ -374,13 +374,12 @@ int main(int argc, char *argv[]) {
         Dune::MyVTKWriter<GridView> writer(leafView);
         std::string filename((boost::format("obs%d") % run).str());
 
-        // Note: These pointers cannot be const.
         auto const displacement_ptr =
-            Dune::make_shared<VTKBasisGridFunction<P1Basis, VectorType>>(
+            Dune::make_shared<VTKBasisGridFunction<P1Basis, VectorType> const>(
                 p1Basis, u4, "displacement");
-        auto const vonmises_ptr =
-            Dune::make_shared<VTKBasisGridFunction<P0Basis, CellVectorType>>(
-                p0Basis, vonMisesStress, "stress");
+        auto const vonmises_ptr = Dune::make_shared<
+            VTKBasisGridFunction<P0Basis, CellVectorType> const>(
+            p0Basis, vonMisesStress, "stress");
         writer.addVertexData(displacement_ptr);
         writer.addCellData(vonmises_ptr);
         writer.write(filename.c_str());
-- 
GitLab