From: Peter Munch <peterrmuench@gmail.com>
Date: Mon, 29 Jun 2020 07:48:36 +0000 (+0200)
Subject: Remove DoFHandlerType from internal::DoFHandlerImplementation::Iterators
X-Git-Tag: v9.3.0-rc1~1352^2
X-Git-Url: https://gitweb.dealii.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ff77abe0fa8359066c8745195f10b4e0f1e4f15d;p=dealii.git

Remove DoFHandlerType from internal::DoFHandlerImplementation::Iterators
---

diff --git a/include/deal.II/dofs/dof_accessor.h b/include/deal.II/dofs/dof_accessor.h
index 21241cf7dc..3f3d90c53c 100644
--- a/include/deal.II/dofs/dof_accessor.h
+++ b/include/deal.II/dofs/dof_accessor.h
@@ -356,7 +356,7 @@ public:
    * function returns an iterator to itself.
    */
   typename dealii::internal::DoFHandlerImplementation::
-    Iterators<DoFHandler<dim, spacedim>, level_dof_access>::line_iterator
+    Iterators<dim, spacedim, level_dof_access>::line_iterator
     line(const unsigned int i) const;
 
   /**
@@ -365,7 +365,7 @@ public:
    * function returns an iterator to itself.
    */
   typename dealii::internal::DoFHandlerImplementation::
-    Iterators<DoFHandler<dim, spacedim>, level_dof_access>::quad_iterator
+    Iterators<dim, spacedim, level_dof_access>::quad_iterator
     quad(const unsigned int i) const;
 
   /**
@@ -907,7 +907,7 @@ public:
    * an exception.
    */
   typename dealii::internal::DoFHandlerImplementation::
-    Iterators<DoFHandler<1, spacedim>, level_dof_access>::line_iterator
+    Iterators<1, spacedim, level_dof_access>::line_iterator
     line(const unsigned int i) const;
 
   /**
@@ -917,7 +917,7 @@ public:
    * an exception.
    */
   typename dealii::internal::DoFHandlerImplementation::
-    Iterators<DoFHandler<1, spacedim>, level_dof_access>::quad_iterator
+    Iterators<1, spacedim, level_dof_access>::quad_iterator
     quad(const unsigned int i) const;
 
   /**
diff --git a/include/deal.II/dofs/dof_accessor.templates.h b/include/deal.II/dofs/dof_accessor.templates.h
index d9628adfba..830fd3ca35 100644
--- a/include/deal.II/dofs/dof_accessor.templates.h
+++ b/include/deal.II/dofs/dof_accessor.templates.h
@@ -1598,7 +1598,7 @@ DoFAccessor<structdim, dim, spacedim, level_dof_access>::set_mg_dof_indices(
 
 template <int structdim, int dim, int spacedim, bool level_dof_access>
 inline typename dealii::internal::DoFHandlerImplementation::
-  Iterators<DoFHandler<dim, spacedim>, level_dof_access>::line_iterator
+  Iterators<dim, spacedim, level_dof_access>::line_iterator
   DoFAccessor<structdim, dim, spacedim, level_dof_access>::line(
     const unsigned int i) const
 {
@@ -1610,12 +1610,12 @@ inline typename dealii::internal::DoFHandlerImplementation::
       Assert(i == 0,
              ExcMessage("You can only ask for line zero if the "
                         "current object is a line itself."));
-      return typename dealii::internal::DoFHandlerImplementation::Iterators<
-        DoFHandler<dim, spacedim>,
-        level_dof_access>::cell_iterator(&this->get_triangulation(),
-                                         this->level(),
-                                         this->index(),
-                                         &this->get_dof_handler());
+      return typename dealii::internal::DoFHandlerImplementation::
+        Iterators<dim, spacedim, level_dof_access>::cell_iterator(
+          &this->get_triangulation(),
+          this->level(),
+          this->index(),
+          &this->get_dof_handler());
     }
 
   // otherwise we need to be in structdim>=2
@@ -1624,7 +1624,7 @@ inline typename dealii::internal::DoFHandlerImplementation::
 
   // checking of 'i' happens in line_index(i)
   return typename dealii::internal::DoFHandlerImplementation::
-    Iterators<DoFHandler<dim, spacedim>, level_dof_access>::line_iterator(
+    Iterators<dim, spacedim, level_dof_access>::line_iterator(
       this->tria,
       0, // only sub-objects are allowed, which have no level
       this->line_index(i),
@@ -1634,7 +1634,7 @@ inline typename dealii::internal::DoFHandlerImplementation::
 
 template <int structdim, int dim, int spacedim, bool level_dof_access>
 inline typename dealii::internal::DoFHandlerImplementation::
-  Iterators<DoFHandler<dim, spacedim>, level_dof_access>::quad_iterator
+  Iterators<dim, spacedim, level_dof_access>::quad_iterator
   DoFAccessor<structdim, dim, spacedim, level_dof_access>::quad(
     const unsigned int i) const
 {
@@ -1648,11 +1648,11 @@ inline typename dealii::internal::DoFHandlerImplementation::
       Assert(i == 0,
              ExcMessage("You can only ask for quad zero if the "
                         "current object is a quad itself."));
-      return typename dealii::internal::DoFHandlerImplementation::Iterators<
-        DoFHandler<dim, spacedim>>::cell_iterator(&this->get_triangulation(),
-                                                  this->level(),
-                                                  this->index(),
-                                                  &this->get_dof_handler());
+      return typename dealii::internal::DoFHandlerImplementation::
+        Iterators<dim, spacedim>::cell_iterator(&this->get_triangulation(),
+                                                this->level(),
+                                                this->index(),
+                                                &this->get_dof_handler());
     }
 
   // otherwise we need to be in structdim>=3
@@ -1661,7 +1661,7 @@ inline typename dealii::internal::DoFHandlerImplementation::
 
   // checking of 'i' happens in quad_index(i)
   return typename dealii::internal::DoFHandlerImplementation::
-    Iterators<DoFHandler<dim, spacedim>, level_dof_access>::quad_iterator(
+    Iterators<dim, spacedim, level_dof_access>::quad_iterator(
       this->tria,
       0, // only sub-objects are allowed, which have no level
       this->quad_index(i),
@@ -1951,26 +1951,26 @@ DoFAccessor<0, 1, spacedim, level_dof_access>::child(
 
 template <int spacedim, bool level_dof_access>
 inline typename dealii::internal::DoFHandlerImplementation::
-  Iterators<DoFHandler<1, spacedim>, level_dof_access>::line_iterator
+  Iterators<1, spacedim, level_dof_access>::line_iterator
   DoFAccessor<0, 1, spacedim, level_dof_access>::line(
     const unsigned int /*c*/) const
 {
   Assert(false, ExcNotImplemented());
   return typename dealii::internal::DoFHandlerImplementation::
-    Iterators<DoFHandler<1, spacedim>, level_dof_access>::line_iterator();
+    Iterators<1, spacedim, level_dof_access>::line_iterator();
 }
 
 
 
 template <int spacedim, bool level_dof_access>
 inline typename dealii::internal::DoFHandlerImplementation::
-  Iterators<DoFHandler<1, spacedim>, level_dof_access>::quad_iterator
+  Iterators<1, spacedim, level_dof_access>::quad_iterator
   DoFAccessor<0, 1, spacedim, level_dof_access>::quad(
     const unsigned int /*c*/) const
 {
   Assert(false, ExcNotImplemented());
   return typename dealii::internal::DoFHandlerImplementation::
-    Iterators<DoFHandler<1, spacedim>, level_dof_access>::quad_iterator();
+    Iterators<1, spacedim, level_dof_access>::quad_iterator();
 }
 
 
diff --git a/include/deal.II/dofs/dof_handler.h b/include/deal.II/dofs/dof_handler.h
index 0f3ca22a91..c770bc8678 100644
--- a/include/deal.II/dofs/dof_handler.h
+++ b/include/deal.II/dofs/dof_handler.h
@@ -218,10 +218,10 @@ namespace parallel
 template <int dim, int spacedim = dim>
 class DoFHandler : public Subscriptor
 {
-  using ActiveSelector = dealii::internal::DoFHandlerImplementation::
-    Iterators<DoFHandler<dim, spacedim>, false>;
-  using LevelSelector = dealii::internal::DoFHandlerImplementation::
-    Iterators<DoFHandler<dim, spacedim>, true>;
+  using ActiveSelector =
+    dealii::internal::DoFHandlerImplementation::Iterators<dim, spacedim, false>;
+  using LevelSelector =
+    dealii::internal::DoFHandlerImplementation::Iterators<dim, spacedim, true>;
 
 public:
   /**
diff --git a/include/deal.II/dofs/dof_iterator_selector.h b/include/deal.II/dofs/dof_iterator_selector.h
index 6fe09c553c..0894e289e1 100644
--- a/include/deal.II/dofs/dof_iterator_selector.h
+++ b/include/deal.II/dofs/dof_iterator_selector.h
@@ -31,6 +31,9 @@ class DoFAccessor;
 template <int dim, int spacedim, bool lda>
 class DoFCellAccessor;
 
+template <int dim, int spacedim>
+class DoFHandler;
+
 template <typename Accessor>
 class TriaRawIterator;
 template <typename Accessor>
@@ -43,7 +46,7 @@ namespace internal
 {
   namespace DoFHandlerImplementation
   {
-    template <typename DoFHandlerType, bool lda = false>
+    template <int dim, int spacedim, bool lda = false>
     struct Iterators;
 
 
@@ -56,12 +59,11 @@ namespace internal
      * @ref Iterators
      * module for more information.
      */
-    template <template <int, int> class DoFHandlerType, int spacedim, bool lda>
-    struct Iterators<DoFHandlerType<1, spacedim>, lda>
+    template <int spacedim, bool lda>
+    struct Iterators<1, spacedim, lda>
     {
-      using DoFHandler_type = DoFHandlerType<1, spacedim>;
-      using CellAccessor    = dealii::DoFCellAccessor<1, spacedim, lda>;
-      using FaceAccessor    = dealii::DoFAccessor<0, 1, spacedim, lda>;
+      using CellAccessor = dealii::DoFCellAccessor<1, spacedim, lda>;
+      using FaceAccessor = dealii::DoFAccessor<0, 1, spacedim, lda>;
 
       using raw_line_iterator    = TriaRawIterator<CellAccessor>;
       using line_iterator        = TriaIterator<CellAccessor>;
@@ -99,12 +101,11 @@ namespace internal
      * @ref Iterators
      * module for more information.
      */
-    template <template <int, int> class DoFHandlerType, int spacedim, bool lda>
-    struct Iterators<DoFHandlerType<2, spacedim>, lda>
+    template <int spacedim, bool lda>
+    struct Iterators<2, spacedim, lda>
     {
-      using DoFHandler_type = DoFHandlerType<2, spacedim>;
-      using CellAccessor    = dealii::DoFCellAccessor<2, spacedim, lda>;
-      using FaceAccessor    = dealii::DoFAccessor<1, 2, spacedim, lda>;
+      using CellAccessor = dealii::DoFCellAccessor<2, spacedim, lda>;
+      using FaceAccessor = dealii::DoFAccessor<1, 2, spacedim, lda>;
 
       using raw_line_iterator    = TriaRawIterator<FaceAccessor>;
       using line_iterator        = TriaIterator<FaceAccessor>;
@@ -140,12 +141,11 @@ namespace internal
      * @ref Iterators
      * module for more information.
      */
-    template <template <int, int> class DoFHandlerType, int spacedim, bool lda>
-    struct Iterators<DoFHandlerType<3, spacedim>, lda>
+    template <int spacedim, bool lda>
+    struct Iterators<3, spacedim, lda>
     {
-      using DoFHandler_type = DoFHandlerType<3, spacedim>;
-      using CellAccessor    = dealii::DoFCellAccessor<3, spacedim, lda>;
-      using FaceAccessor    = dealii::DoFAccessor<2, 3, spacedim, lda>;
+      using CellAccessor = dealii::DoFCellAccessor<3, spacedim, lda>;
+      using FaceAccessor = dealii::DoFAccessor<2, 3, spacedim, lda>;
 
       using raw_line_iterator =
         TriaRawIterator<dealii::DoFAccessor<1, 3, spacedim, lda>>;