]> https://gitweb.dealii.org/ - dealii-svn.git/commitdiff
Work around a bug in Intel ICC 10.1. This also significantly cleans up the code.
authorbangerth <bangerth@0785d39b-7218-0410-832d-ea1e28bc413d>
Tue, 12 Feb 2013 21:19:45 +0000 (21:19 +0000)
committerbangerth <bangerth@0785d39b-7218-0410-832d-ea1e28bc413d>
Tue, 12 Feb 2013 21:19:45 +0000 (21:19 +0000)
git-svn-id: https://svn.dealii.org/trunk@28345 0785d39b-7218-0410-832d-ea1e28bc413d

deal.II/include/deal.II/dofs/dof_accessor.templates.h

index 2f654a07a47b87eabf3f742e981c523d19d2d64b..3f3ffedcbe4f5ee03c7a9189c8e2f48b90fc0e69 100644 (file)
@@ -2051,21 +2051,6 @@ namespace internal
 {
   namespace DoFAccessor
   {
-    template <bool lda, class DH>
-    inline
-    typename dealii::internal::DoFHandler::Iterators<DH>::line_iterator
-    get_line(const dealii::Triangulation<DH::dimension, DH::space_dimension> *tria,
-             unsigned int index,
-             DH *dof_handler)
-    {
-      return typename dealii::internal::DoFHandler::Iterators<DH>::line_iterator
-             (
-               tria,
-               0,  // only sub-objects are allowed, which have no level
-               index,
-               dof_handler);
-    }
-
     template <bool lda, class DH>
     inline
     typename dealii::internal::DoFHandler::Iterators<DH, lda>::quad_iterator
@@ -2073,48 +2058,8 @@ namespace internal
              unsigned int index,
              DH *dof_handler)
     {
-      return typename dealii::internal::DoFHandler::Iterators<DH>::quad_iterator
-             (
-               tria,
-               0,  // only sub-objects are allowed, which have no level
-               index,
-               dof_handler);
-    }
-
-    // None of these specializations should ever be called
-    template<bool lda>
-    inline
-    typename dealii::internal::DoFHandler::Iterators<dealii::DoFHandler<1,1>, lda>::line_iterator
-    get_line(const dealii::Triangulation<1,1> *,
-             unsigned int,
-             dealii::DoFHandler<1,1> *)
-    {
-      Assert(false, ExcNotImplemented());
-      return typename dealii::internal::DoFHandler::Iterators<dealii::DoFHandler<1,1>, lda>::line_iterator();
-    }
-
-
-    template<bool lda>
-    inline
-    typename dealii::internal::DoFHandler::Iterators<dealii::DoFHandler<1,2>, lda>::line_iterator
-    get_line(const dealii::Triangulation<1,2> *,
-             unsigned int,
-             dealii::DoFHandler<1,2> *)
-    {
-      Assert(false, ExcNotImplemented());
-      return typename dealii::internal::DoFHandler::Iterators<dealii::DoFHandler<1,2>, lda>::line_iterator();
     }
 
-    template<bool lda>
-    inline
-    typename dealii::internal::DoFHandler::Iterators<dealii::DoFHandler<1,3>, lda>::line_iterator
-    get_line(const dealii::Triangulation<1,3> *,
-             unsigned int,
-             dealii::DoFHandler<1,3> *)
-    {
-      Assert(false, ExcNotImplemented());
-      return typename dealii::internal::DoFHandler::Iterators<dealii::DoFHandler<1,3>, lda>::line_iterator();
-    }
 
     template<bool lda>
     inline
@@ -2138,39 +2083,6 @@ namespace internal
       return typename dealii::internal::DoFHandler::Iterators<dealii::DoFHandler<2,3>, lda>::line_iterator();
     }
 
-    template<bool lda>
-    inline
-    typename dealii::internal::DoFHandler::Iterators<dealii::hp::DoFHandler<1,1>, lda>::line_iterator
-    get_line(const dealii::Triangulation<1,1> *,
-             unsigned int,
-             dealii::hp::DoFHandler<1,1> *)
-    {
-      Assert(false, ExcNotImplemented());
-      return typename dealii::internal::DoFHandler::Iterators<dealii::hp::DoFHandler<1,1>, lda>::line_iterator();
-    }
-
-    template<bool lda>
-    inline
-    typename dealii::internal::DoFHandler::Iterators<dealii::hp::DoFHandler<1,2>, lda>::line_iterator
-    get_line(const dealii::Triangulation<1,2> *,
-             unsigned int,
-             dealii::hp::DoFHandler<1,2> *)
-    {
-      Assert(false, ExcNotImplemented());
-      return typename dealii::internal::DoFHandler::Iterators<dealii::hp::DoFHandler<1,2>, lda>::line_iterator();
-    }
-
-    template<bool lda>
-    inline
-    typename dealii::internal::DoFHandler::Iterators<dealii::hp::DoFHandler<1,3>, lda>::line_iterator
-    get_line(const dealii::Triangulation<1,3> *,
-             unsigned int,
-             dealii::hp::DoFHandler<1,3> *)
-    {
-      Assert(false, ExcNotImplemented());
-      return typename dealii::internal::DoFHandler::Iterators<dealii::hp::DoFHandler<1,3>, lda>::line_iterator();
-    }
-
     template<bool lda>
     inline
     typename dealii::internal::DoFHandler::Iterators<dealii::hp::DoFHandler<2,2>, lda>::quad_iterator
@@ -2201,11 +2113,9 @@ inline
 typename dealii::internal::DoFHandler::Iterators<DH,lda>::line_iterator
 DoFAccessor<structdim,DH,lda>::line (const unsigned int i) const
 {
-  // if we are asking for a
-  // particular line and this object
-  // refers to a line, then the only
-  // valid index is i==0 and we
-  // should return *this
+  // if we are asking for a particular line and this object refers to
+  // a line, then the only valid index is i==0 and we should return
+  // *this
   if (structdim == 1)
     {
       Assert (i==0, ExcMessage ("You can only ask for line zero if the "
@@ -2218,9 +2128,16 @@ DoFAccessor<structdim,DH,lda>::line (const unsigned int i) const
          &this->get_dof_handler());
     }
 
-  // checking of 'i' happens in
-  // line_index(i)
-  return dealii::internal::DoFAccessor::get_line<lda>(this->tria, this->line_index(i), this->dof_handler);
+  // otherwise we need to be in structdim>=2
+  Assert (structdim > 1, ExcImpossibleInDim(structdim));
+  Assert (DH::dimension > 1, ExcImpossibleInDim(DH::dimension));
+
+  // checking of 'i' happens in line_index(i)
+  return typename dealii::internal::DoFHandler::Iterators<DH,lda>::line_iterator
+    (this->tria,
+     0,  // only sub-objects are allowed, which have no level
+     this->line_index(i),
+     this->dof_handler);
 }
 
 
@@ -2246,13 +2163,16 @@ DoFAccessor<structdim,DH,lda>::quad (const unsigned int i) const
          &this->get_dof_handler());
     }
 
-  // otherwise we need to be in
-  // structdim>=3
+  // otherwise we need to be in structdim>=3
   Assert (structdim > 2, ExcImpossibleInDim(structdim));
-  // checking of 'i' happens in
-  // quad_index(i)
+  Assert (DH::dimension > 2, ExcImpossibleInDim(DH::dimension));
 
-  return dealii::internal::DoFAccessor::get_quad<lda>(this->tria, this->quad_index(i), this->dof_handler);
+  // checking of 'i' happens in quad_index(i)
+  return typename dealii::internal::DoFHandler::Iterators<DH,lda>::quad_iterator
+    (this->tria,
+     0,  // only sub-objects are allowed, which have no level
+     this->quad_index(i),
+     this->dof_handler);
 }
 
 

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.