From 6749a6f42389d41814afcf1c7bed14015db78849 Mon Sep 17 00:00:00 2001
From: Simon Praetorius <simon.praetorius@tu-dresden.de>
Date: Sat, 18 Apr 2020 00:03:17 +0200
Subject: [PATCH] Deduction guide for unstructured grid creator

---
 dune/vtk/datacollectorinterface.hh            | 10 ++++++----
 dune/vtk/writers/vtkunstructuredgridwriter.hh |  4 ++++
 2 files changed, 10 insertions(+), 4 deletions(-)

diff --git a/dune/vtk/datacollectorinterface.hh b/dune/vtk/datacollectorinterface.hh
index c815b6a..d37ca63 100644
--- a/dune/vtk/datacollectorinterface.hh
+++ b/dune/vtk/datacollectorinterface.hh
@@ -7,17 +7,19 @@ namespace Dune
 {
   /// Base class for data collectors in a CRTP style.
   /**
-   * \tparam GridView   Model of Dune::GridView
-   * \tparam Derived    Implementation of a concrete DataCollector.
-   * \tparam Partition  Dune::PartitionType [Partitions::InteriorBorder]
+   * \tparam GridViewType  Model of Dune::GridView
+   * \tparam Derived       Implementation of a concrete DataCollector.
+   * \tparam Partition     Dune::PartitionType [Partitions::InteriorBorder]
    **/
-  template <class GridView, class Derived, class Partition>
+  template <class GridViewType, class Derived, class Partition>
   class DataCollectorInterface
   {
   public:
     /// The partitionset to collect data from
     static constexpr auto partition = Partition{};
 
+    using GridView = GridViewType;
+
     /// The dimension of the grid
     enum { dim = GridView::dimension };
 
diff --git a/dune/vtk/writers/vtkunstructuredgridwriter.hh b/dune/vtk/writers/vtkunstructuredgridwriter.hh
index 60cb914..cb81928 100644
--- a/dune/vtk/writers/vtkunstructuredgridwriter.hh
+++ b/dune/vtk/writers/vtkunstructuredgridwriter.hh
@@ -90,6 +90,10 @@ namespace Dune
     using Super::cellData_;
   };
 
+  template <class DataCollector>
+  VtkUnstructuredGridWriter(std::shared_ptr<DataCollector>, Vtk::FormatTypes = Vtk::BINARY, Vtk::DataTypes = Vtk::FLOAT32)
+    -> VtkUnstructuredGridWriter<typename DataCollector::GridView, DataCollector>;
+
 } // end namespace Dune
 
 #include "vtkunstructuredgridwriter.impl.hh"
-- 
GitLab