]> https://gitweb.dealii.org/ - dealii.git/commitdiff
Avoid some more instantiations of class Triangulation for invalid arguments.
authorWolfgang Bangerth <bangerth@colostate.edu>
Sat, 25 Feb 2023 22:41:16 +0000 (15:41 -0700)
committerWolfgang Bangerth <bangerth@colostate.edu>
Sun, 26 Feb 2023 10:39:26 +0000 (03:39 -0700)
include/deal.II/dofs/dof_accessor.h
include/deal.II/grid/tria_accessor.h
include/deal.II/grid/tria_accessor.templates.h
source/dofs/dof_accessor.cc

index 68be280fd900623f405fa82ee49fe0fa88b19b68..ee4aa970da0b319c10339d2d48cc8b349385234d 100644 (file)
@@ -1260,10 +1260,10 @@ public:
    * semantic sense, and we generate an exception when such an object is
    * actually generated.
    */
-  DoFInvalidAccessor(const Triangulation<dim, spacedim> *parent     = 0,
-                     const int                           level      = -1,
-                     const int                           index      = -1,
-                     const AccessorData *                local_data = 0);
+  DoFInvalidAccessor(const void *        parent     = 0,
+                     const int           level      = -1,
+                     const int           index      = -1,
+                     const AccessorData *local_data = 0);
 
   /**
    * Copy constructor.  This class is used for iterators that do not make
index d6c44e618d42e8dd0d9e9aeb97b6a999cd23fb2a..eff7f3ff0d5b294dbb2daca87fae710116f192a2 100644 (file)
@@ -605,10 +605,10 @@ public:
    * semantic sense, and we generate an exception when such an object is
    * actually generated.
    */
-  InvalidAccessor(const Triangulation<dim, spacedim> *parent     = nullptr,
-                  const int                           level      = -1,
-                  const int                           index      = -1,
-                  const AccessorData *                local_data = nullptr);
+  InvalidAccessor(const void *        parent     = nullptr,
+                  const int           level      = -1,
+                  const int           index      = -1,
+                  const AccessorData *local_data = nullptr);
 
   /**
    * Copy constructor.  This class is used for iterators that do not make
@@ -718,17 +718,15 @@ public:
    * Dummy function to extract lines. Returns a default-constructed line
    * iterator.
    */
-  typename dealii::internal::TriangulationImplementation::
-    Iterators<dim, spacedim>::line_iterator
-    line(const unsigned int i) const;
+  void *
+  line(const unsigned int i) const;
 
   /**
    * Dummy function to extract quads. Returns a default-constructed quad
    * iterator.
    */
-  typename dealii::internal::TriangulationImplementation::
-    Iterators<dim, spacedim>::quad_iterator
-    quad(const unsigned int i) const;
+  void *
+  quad(const unsigned int i) const;
 };
 
 
index 18920e2035b22a4bcb557f6322be95d638f36fb8..958f8d49137df03a6db1e8caf29df607b9b6a86c 100644 (file)
@@ -375,11 +375,10 @@ TriaAccessorBase<structdim, dim, spacedim>::objects() const
 /*---------------------- Functions: InvalidAccessor -------------------------*/
 
 template <int structdim, int dim, int spacedim>
-InvalidAccessor<structdim, dim, spacedim>::InvalidAccessor(
-  const Triangulation<dim, spacedim> *,
-  const int,
-  const int,
-  const AccessorData *)
+InvalidAccessor<structdim, dim, spacedim>::InvalidAccessor(const void *,
+                                                           const int,
+                                                           const int,
+                                                           const AccessorData *)
 {
   Assert(false,
          ExcMessage("You are attempting an invalid conversion between "
@@ -544,27 +543,23 @@ InvalidAccessor<structdim, dim, spacedim>::vertex(const unsigned int) const
 
 
 template <int structdim, int dim, int spacedim>
-inline typename dealii::internal::TriangulationImplementation::
-  Iterators<dim, spacedim>::line_iterator
-  InvalidAccessor<structdim, dim, spacedim>::line(const unsigned int) const
+inline void *
+InvalidAccessor<structdim, dim, spacedim>::line(const unsigned int) const
 {
   // nothing to do here. we could throw an exception but we can't get here
   // without first creating an object which would have already thrown
-  return typename dealii::internal::TriangulationImplementation::
-    Iterators<dim, spacedim>::line_iterator();
+  return nullptr;
 }
 
 
 
 template <int structdim, int dim, int spacedim>
-inline typename dealii::internal::TriangulationImplementation::
-  Iterators<dim, spacedim>::quad_iterator
-  InvalidAccessor<structdim, dim, spacedim>::quad(const unsigned int) const
+inline void *
+InvalidAccessor<structdim, dim, spacedim>::quad(const unsigned int) const
 {
   // nothing to do here. we could throw an exception but we can't get here
   // without first creating an object which would have already thrown
-  return typename dealii::internal::TriangulationImplementation::
-    Iterators<dim, spacedim>::quad_iterator();
+  return nullptr;
 }
 
 
index 6c5d023cb6ea7fe5bc1f38e92cbe0e30554dd1d4..b9ff6a56d62263a55a7ddae5534cd5367e3da0e9 100644 (file)
@@ -42,7 +42,7 @@ const unsigned int
 
 template <int structdim, int dim, int spacedim>
 DoFInvalidAccessor<structdim, dim, spacedim>::DoFInvalidAccessor(
-  const Triangulation<dim, spacedim> *,
+  const void *,
   const int,
   const int,
   const AccessorData *)

In the beginning the Universe was created. This has made a lot of people very angry and has been widely regarded as a bad move.

Douglas Adams


Typeset in Trocchi and Trocchi Bold Sans Serif.