]> https://gitweb.dealii.org/ - dealii-svn.git/commitdiff
Move the IteratorState to a namespace of its own, to move it out of the global namespace.
authorwolf <wolf@0785d39b-7218-0410-832d-ea1e28bc413d>
Fri, 30 Nov 2001 13:06:54 +0000 (13:06 +0000)
committerwolf <wolf@0785d39b-7218-0410-832d-ea1e28bc413d>
Fri, 30 Nov 2001 13:06:54 +0000 (13:06 +0000)
git-svn-id: https://svn.dealii.org/trunk@5318 0785d39b-7218-0410-832d-ea1e28bc413d

17 files changed:
deal.II/deal.II/include/dofs/dof_accessor.templates.h
deal.II/deal.II/include/grid/tria_accessor.h
deal.II/deal.II/include/grid/tria_accessor.templates.h
deal.II/deal.II/include/grid/tria_iterator.h
deal.II/deal.II/include/grid/tria_iterator.templates.h
deal.II/deal.II/include/grid/tria_iterator_base.h
deal.II/deal.II/source/dofs/dof_handler.cc
deal.II/deal.II/source/grid/intergrid_map.cc
deal.II/deal.II/source/grid/tria.cc
deal.II/deal.II/source/grid/tria_accessor.cc
deal.II/deal.II/source/multigrid/mg_dof_accessor.cc
deal.II/deal.II/source/multigrid/mg_dof_handler.cc
deal.II/deal.II/source/multigrid/mg_smoother.cc
deal.II/deal.II/source/numerics/error_estimator.cc
deal.II/deal.II/source/numerics/vectors.cc
deal.II/doc/news/2001/c-3-2.html
deal.II/examples/step-12/step-12.cc

index 3de2e632a738a1ec31b75fb5356afb16fe20c2cc..ca9f1af95c3febebebccff66177dc88c289d4701 100644 (file)
@@ -176,7 +176,7 @@ DoFObjectAccessor<1,dim>::child (const unsigned int i) const
                                                 dof_handler);
   
 #ifdef DEBUG
-  if (q.state() != past_the_end)
+  if (q.state() != IteratorState::past_the_end)
     Assert (q->used(), typename TriaAccessor<dim>::ExcUnusedCellAsChild());
 #endif
   return q;
@@ -297,7 +297,7 @@ DoFObjectAccessor<2,dim>::child (const unsigned int i) const
                                                 dof_handler);
   
 #ifdef DEBUG
-  if (q.state() != past_the_end)
+  if (q.state() != IteratorState::past_the_end)
     Assert (q->used(), typename TriaAccessor<dim>::ExcUnusedCellAsChild());
 #endif
   return q;
@@ -435,7 +435,7 @@ DoFObjectAccessor<3,dim>::child (const unsigned int i) const
                                                 dof_handler);
   
 #ifdef DEBUG
-  if (q.state() != past_the_end)
+  if (q.state() != IteratorState::past_the_end)
     Assert (q->used(), typename TriaAccessor<dim>::ExcUnusedCellAsChild());
 #endif
   return q;
@@ -464,7 +464,7 @@ DoFCellAccessor<dim>::neighbor (const unsigned int i) const
                                             dof_handler);
   
 #ifdef DEBUG
-  if (q.state() != past_the_end)
+  if (q.state() != IteratorState::past_the_end)
     Assert (q->used(), typename TriaAccessor<dim>::ExcUnusedCellAsNeighbor());
 #endif
   return q;
@@ -482,7 +482,7 @@ DoFCellAccessor<dim>::child (const unsigned int i) const
                                             dof_handler);
   
 #ifdef DEBUG
-  if (q.state() != past_the_end)
+  if (q.state() != IteratorState::past_the_end)
     Assert (q->used(), typename TriaAccessor<dim>::ExcUnusedCellAsChild());
 #endif
   return q;
index 970f69cf7c1ab7eb1fd9a2712f2092519d336823..fa8ec1869b2017d352363b9096eeaac53fa5e633 100644 (file)
@@ -161,13 +161,14 @@ class TriaAccessor
                                      *  present level.
                                      */
     int index () const;
+    
                                     /**
                                      *  Return the state of the iterator.
                                      *  For the different states an accessor 
                                      *  can be in, refer to the
                                      *  @ref{TriaRawIterator} documentation.
                                      */
-    IteratorState state () const;
+    IteratorState::IteratorState state () const;
 
                                     /**
                                      * Return a pointer to the triangulation
index 1fd585ed08032ef57ac4a85ca419f4495dbcec1e..522339a9c767fb3fccdc18b92fef38fd359ce781 100644 (file)
@@ -82,16 +82,16 @@ TriaAccessor<dim>::index () const
 
 template <int dim>
 inline
-IteratorState
+IteratorState::IteratorState
 TriaAccessor<dim>::state () const
 {
   if ((present_level>=0) && (present_index>=0))
-    return valid;
+    return IteratorState::valid;
   else
     if ((present_level==-1) && (present_index==-1))
-      return past_the_end;
+      return IteratorState::past_the_end;
     else
-      return invalid;
+      return IteratorState::invalid;
 };
 
 
@@ -113,7 +113,7 @@ inline
 bool
 TriaObjectAccessor<1,dim>::used () const
 {
-  Assert (state() == valid,
+  Assert (state() == IteratorState::valid,
          typename TriaAccessor<dim>::ExcDereferenceInvalidObject());
   return tria->levels[present_level]->lines.used[present_index];
 };
@@ -163,7 +163,7 @@ TriaObjectAccessor<1,dim>::child (const unsigned int i) const
   TriaIterator<dim,TriaObjectAccessor<1,dim> >
     q (tria, present_level+1, child_index (i));
   
-  Assert ((q.state() == past_the_end) || q->used(),
+  Assert ((q.state() == IteratorState::past_the_end) || q->used(),
          typename TriaAccessor<dim>::ExcUnusedCellAsChild());
 
   return q;
@@ -187,7 +187,7 @@ inline
 bool
 TriaObjectAccessor<1,dim>::has_children () const
 {
-  Assert (state() == valid,
+  Assert (state() == IteratorState::valid,
          typename TriaAccessor<dim>::ExcDereferenceInvalidObject());
   return (tria->levels[present_level]->lines.children[present_index] != -1);
 }
@@ -270,7 +270,7 @@ inline
 bool
 TriaObjectAccessor<2,dim>::used () const
 {
-  Assert (state() == valid,
+  Assert (state() == IteratorState::valid,
          typename TriaAccessor<dim>::ExcDereferenceInvalidObject());
   return tria->levels[present_level]->quads.used[present_index];
 };
@@ -348,7 +348,7 @@ TriaObjectAccessor<2,dim>::child (const unsigned int i) const
   TriaIterator<dim,TriaObjectAccessor<2,dim> >
     q (tria, present_level+1, child_index (i));
   
-  Assert ((q.state() == past_the_end) || q->used(),
+  Assert ((q.state() == IteratorState::past_the_end) || q->used(),
          typename TriaAccessor<dim>::ExcUnusedCellAsChild());
 
   return q;
@@ -371,7 +371,7 @@ inline
 bool
 TriaObjectAccessor<2,dim>::has_children () const
 {
-  Assert (state() == valid,
+  Assert (state() == IteratorState::valid,
          typename TriaAccessor<dim>::ExcDereferenceInvalidObject());
   return (tria->levels[present_level]->quads.children[present_index] != -1);
 };
@@ -456,7 +456,7 @@ inline
 bool
 TriaObjectAccessor<3,dim>::used () const
 {
-  Assert (state() == valid,
+  Assert (state() == IteratorState::valid,
          typename TriaAccessor<dim>::ExcDereferenceInvalidObject());
   return tria->levels[present_level]->hexes.used[present_index];
 };
@@ -602,7 +602,7 @@ TriaObjectAccessor<3,dim>::child (const unsigned int i) const
   
   TriaIterator<dim,TriaObjectAccessor<3,dim> > q (tria, present_level+1, child_index (i));
   
-  Assert ((q.state() == past_the_end) || q->used(),
+  Assert ((q.state() == IteratorState::past_the_end) || q->used(),
          typename TriaAccessor<dim>::ExcUnusedCellAsChild());
 
   return q;
@@ -623,7 +623,7 @@ int TriaObjectAccessor<3,dim>::child_index (const unsigned int i) const
 template <int dim>
 bool TriaObjectAccessor<3,dim>::has_children () const
 {
-  Assert (state() == valid,
+  Assert (state() == IteratorState::valid,
          typename TriaAccessor<dim>::ExcDereferenceInvalidObject());
   return (tria->levels[present_level]->hexes.children[present_index] != -1);
 };
@@ -714,7 +714,7 @@ inline
 bool
 TriaObjectAccessor<celldim,dim>::used () const
 {
-  Assert (state() == valid, ExcDereferenceInvalidObject());
+  Assert (state() == IteratorState::valid, ExcDereferenceInvalidObject());
   return tria->levels[present_level]->hexes.used[present_index];
 };
 
@@ -882,7 +882,7 @@ TriaObjectAccessor<celldim,dim>::child (const unsigned int i) const
   TriaIterator<dim,TriaObjectAccessor<celldim,dim> >
     q (tria, present_level+1, child_index (i));
   
-  Assert ((q.state() == past_the_end) || q->used(),
+  Assert ((q.state() == IteratorState::past_the_end) || q->used(),
          ExcUnusedCellAsChild());
 
   return q;
@@ -904,7 +904,7 @@ int TriaObjectAccessor<celldim,dim>::child_index (const unsigned int i) const
 template<int celldim, int dim>
 bool TriaObjectAccessor<celldim,dim>::has_children () const
 {
-  Assert (state() == valid,
+  Assert (state() == IteratorState::valid,
          typename TriaAccessor<dim>::ExcDereferenceInvalidObject());
   return (tria->levels[present_level]->hexes.children[present_index] != -1);
 };
@@ -1140,7 +1140,7 @@ CellAccessor<dim>::neighbor (const unsigned int i) const
   TriaIterator<dim,CellAccessor<dim> >
     q (tria, neighbor_level (i), neighbor_index (i));
 
-  Assert ((q.state() == past_the_end) || q->used(),
+  Assert ((q.state() == IteratorState::past_the_end) || q->used(),
          typename TriaAccessor<dim>::ExcUnusedCellAsNeighbor());
 
   return q;
@@ -1156,7 +1156,7 @@ CellAccessor<dim>::child (const unsigned int i) const
   TriaIterator<dim,CellAccessor<dim> >
     q (tria, present_level+1, child_index (i));
 
-  Assert ((q.state() == past_the_end) || q->used(),
+  Assert ((q.state() == IteratorState::past_the_end) || q->used(),
          typename TriaAccessor<dim>::ExcUnusedCellAsChild());
 
   return q;
index 3927c7c87d533a9cf95a0a626c30b6e7207fe49d..0cb6ae6684f95fe9d2e14f811325bac55e569da9 100644 (file)
@@ -454,7 +454,7 @@ class TriaRawIterator :
                                     /**
                                      *  Return the state of the iterator.
                                      */
-    IteratorState state () const;
+    IteratorState::IteratorState state () const;
 
                                     /**
                                      * Print the iterator to @p{out}. The
@@ -851,7 +851,7 @@ inline
 const Accessor &
 TriaRawIterator<dim,Accessor>::operator * () const
 {
-  Assert (state() == valid, ExcDereferenceInvalidObject());
+  Assert (state() == IteratorState::valid, ExcDereferenceInvalidObject());
   return accessor;
 };
 
@@ -862,7 +862,7 @@ inline
 Accessor &
 TriaRawIterator<dim,Accessor>::operator * ()
 {
-  Assert (state() == valid, ExcDereferenceInvalidObject());
+  Assert (state() == IteratorState::valid, ExcDereferenceInvalidObject());
   return accessor;
 };
 
@@ -890,7 +890,7 @@ TriaRawIterator<dim,Accessor>::operator -> ()
 
 template <int dim, typename Accessor>
 inline
-IteratorState
+IteratorState::IteratorState
 TriaRawIterator<dim,Accessor>::state () const
 {
   return accessor.state ();
@@ -903,17 +903,18 @@ inline
 bool
 TriaRawIterator<dim,Accessor>::operator < (const TriaRawIterator &i) const
 {
-  Assert (state() != invalid, ExcDereferenceInvalidObject());
-  Assert (i.state() != invalid, ExcDereferenceInvalidObject());
+  Assert (state() != IteratorState::invalid, ExcDereferenceInvalidObject());
+  Assert (i.state() != IteratorState::invalid, ExcDereferenceInvalidObject());
   Assert (&accessor.get_triangulation() == &i.accessor.get_triangulation(),
          ExcInvalidComparison());
   
   return ((((accessor.level() < i.accessor.level()) ||
            ((accessor.level() == i.accessor.level()) &&
             (accessor.index() < i.accessor.index()))        ) &&
-          (state()==valid)                                  &&
-          (i.state()==valid)                                  ) ||
-         ((state()==valid) && (i.state()==past_the_end)));
+          (state()==IteratorState::valid)                     &&
+          (i.state()==IteratorState::valid)                 ) ||
+         ((state()==IteratorState::valid) &&
+          (i.state()==IteratorState::past_the_end)));
 };
 
 
@@ -922,7 +923,7 @@ inline
 TriaRawIterator<dim,Accessor> &
 TriaRawIterator<dim,Accessor>::operator ++ ()
 {
-  Assert (state() == valid, ExcAdvanceInvalidObject());
+  Assert (state() == IteratorState::valid, ExcAdvanceInvalidObject());
 
   ++accessor;
   return *this;
@@ -935,7 +936,7 @@ inline
 TriaRawIterator<dim,Accessor> &
 TriaRawIterator<dim,Accessor>::operator -- ()
 {
-  Assert (state() == valid, ExcAdvanceInvalidObject());
+  Assert (state() == IteratorState::valid, ExcAdvanceInvalidObject());
 
   --accessor;
   return *this;
@@ -981,11 +982,11 @@ TriaIterator<dim,Accessor>::TriaIterator (const TriaRawIterator<dim,OtherAccesso
 #ifdef DEBUG
                                   // do this like this, because:
                                   // if we write
-                                  // "Assert (past_the_end || used)"
+                                  // "Assert (IteratorState::past_the_end || used)"
                                   // used() is called anyway, even if
-                                  // state==past_the_end, and will then
+                                  // state==IteratorState::past_the_end, and will then
                                   // throw the exception!
-  if (state() != past_the_end)
+  if (state() != IteratorState::past_the_end)
     Assert (accessor.used(),
            ExcAssignmentOfUnusedObject());
 #endif
@@ -1011,11 +1012,11 @@ TriaActiveIterator<dim,Accessor>::TriaActiveIterator (const TriaRawIterator<dim,
 #ifdef DEBUG
                                   // do this like this, because:
                                   // if we write
-                                  // "Assert (past_the_end || used)"
+                                  // "Assert (IteratorState::past_the_end || used)"
                                   // has_children() is called anyway, even if
-                                  // state==past_the_end, and will then
+                                  // state==IteratorState::past_the_end, and will then
                                   // throw the exception!
-  if (state() != past_the_end) 
+  if (state() != IteratorState::past_the_end) 
     Assert (accessor.has_children()==false,
            ExcAssignmentOfInactiveObject());
 #endif
index 8cc96dc57505b665333d88d57c1e00478d093257..750d8236c74e0d23d1d77cad91ad824f520ac04c 100644 (file)
@@ -131,11 +131,11 @@ TriaIterator<dim,Accessor>::TriaIterator (const TriaRawIterator<dim,Accessor> &i
 #ifdef DEBUG
                                   // do this like this, because:
                                   // if we write
-                                  // "Assert (past_the_end || used)"
+                                  // "Assert (IteratorState::past_the_end || used)"
                                   // used() is called anyway, even if
-                                  // state==past_the_end, and will then
+                                  // state==IteratorState::past_the_end, and will then
                                   // throw the exception!
-  if (state() != past_the_end)
+  if (state() != IteratorState::past_the_end)
     Assert (accessor.used(),
            ExcAssignmentOfUnusedObject());
 #endif  
@@ -153,11 +153,11 @@ TriaIterator<dim,Accessor>::TriaIterator (Triangulation<dim> *parent,
 #ifdef DEBUG
                                   // do this like this, because:
                                   // if we write
-                                  // "Assert (past_the_end || used)"
+                                  // "Assert (IteratorState::past_the_end || used)"
                                   // used() is called anyway, even if
-                                  // state==past_the_end, and will then
+                                  // state==IteratorState::past_the_end, and will then
                                   // throw the exception!
-  if (state() != past_the_end)
+  if (state() != IteratorState::past_the_end)
     Assert (accessor.used(),
            ExcAssignmentOfUnusedObject());
 #endif  
@@ -181,11 +181,11 @@ TriaIterator<dim,Accessor>::operator = (const TriaRawIterator<dim,Accessor> &i)
 #ifdef DEBUG
                                   // do this like this, because:
                                   // if we write
-                                  // "Assert (past_the_end || used)"
+                                  // "Assert (IteratorState::past_the_end || used)"
                                   // used() is called anyway, even if
-                                  // state==past_the_end, and will then
+                                  // state==IteratorState::past_the_end, and will then
                                   // throw the exception!
-  if (state() != past_the_end) 
+  if (state() != IteratorState::past_the_end) 
     Assert (accessor.used(),
            ExcAssignmentOfUnusedObject());
 #endif  
@@ -197,7 +197,7 @@ template <int dim, typename Accessor>
 inline
 TriaIterator<dim,Accessor> & TriaIterator<dim,Accessor>::operator ++ () {
   while (TriaRawIterator<dim,Accessor>::operator++(),
-        (state() == valid))
+        (state() == IteratorState::valid))
     if (accessor.used() == true)
       return *this;
   return *this;
@@ -219,7 +219,7 @@ inline
 TriaIterator<dim,Accessor> &
 TriaIterator<dim,Accessor>::operator -- () {
   while (TriaRawIterator<dim,Accessor>::operator--(),
-        (state() == valid))
+        (state() == IteratorState::valid))
     if (accessor.used() == true)
       return *this;
   return *this;
@@ -260,11 +260,11 @@ TriaActiveIterator<dim,Accessor>::TriaActiveIterator (const TriaRawIterator<dim,
 #ifdef DEBUG
                                   // do this like this, because:
                                   // if we write
-                                  // "Assert (past_the_end || used)"
+                                  // "Assert (IteratorState::past_the_end || used)"
                                   // has_children() is called anyway, even if
-                                  // state==past_the_end, and will then
+                                  // state==IteratorState::past_the_end, and will then
                                   // throw the exception!
-  if (state() != past_the_end) 
+  if (state() != IteratorState::past_the_end) 
     Assert (accessor.has_children()==false,
            ExcAssignmentOfInactiveObject());
 #endif  
@@ -279,11 +279,11 @@ TriaActiveIterator<dim,Accessor>::TriaActiveIterator (const TriaIterator<dim,Acc
 #ifdef DEBUG
                                   // do this like this, because:
                                   // if we write
-                                  // "Assert (past_the_end || used)"
+                                  // "Assert (IteratorState::past_the_end || used)"
                                   // has_children() is called anyway, even if
-                                  // state==past_the_end, and will then
+                                  // state==IteratorState::past_the_end, and will then
                                   // throw the exception!
-  if (state() != past_the_end) 
+  if (state() != IteratorState::past_the_end) 
     Assert (accessor.has_children()==false,
            ExcAssignmentOfInactiveObject());
 #endif  
@@ -301,11 +301,11 @@ TriaActiveIterator<dim,Accessor>::TriaActiveIterator (Triangulation<dim> *parent
 #ifdef DEBUG
                                   // do this like this, because:
                                   // if we write
-                                  // "Assert (past_the_end || used)"
+                                  // "Assert (IteratorState::past_the_end || used)"
                                   // has_children() is called anyway, even if
-                                  // state==past_the_end, and will then
+                                  // state==IteratorState::past_the_end, and will then
                                   // throw the exception!
-  if (state() != past_the_end) 
+  if (state() != IteratorState::past_the_end) 
     Assert (accessor.has_children()==false,
            ExcAssignmentOfInactiveObject());
 #endif  
@@ -329,11 +329,11 @@ TriaActiveIterator<dim,Accessor>::operator = (const TriaRawIterator<dim,Accessor
 #ifdef DEBUG
                                   // do this like this, because:
                                   // if we write
-                                  // "Assert (past_the_end || used)"
+                                  // "Assert (IteratorState::past_the_end || used)"
                                   // has_chidlren() is called anyway, even if
-                                  // state==past_the_end, and will then
+                                  // state==IteratorState::past_the_end, and will then
                                   // throw the exception!
-  if (state() != past_the_end) 
+  if (state() != IteratorState::past_the_end) 
     Assert (accessor.used() && accessor.has_children()==false,
            ExcAssignmentOfInactiveObject());
 #endif  
@@ -349,11 +349,11 @@ TriaActiveIterator<dim,Accessor>::operator = (const TriaIterator<dim,Accessor> &
 #ifdef DEBUG
                                   // do this like this, because:
                                   // if we write
-                                  // "Assert (past_the_end || used)"
+                                  // "Assert (IteratorState::past_the_end || used)"
                                   // has_children() is called anyway, even if
-                                  // state==past_the_end, and will then
+                                  // state==IteratorState::past_the_end, and will then
                                   // throw the exception!
-  if (state() != past_the_end) 
+  if (state() != IteratorState::past_the_end) 
     Assert (accessor.has_children()==false,
            ExcAssignmentOfInactiveObject());
 #endif  
@@ -366,7 +366,7 @@ inline
 TriaActiveIterator<dim,Accessor> &
 TriaActiveIterator<dim,Accessor>::operator ++ () {
   while (TriaIterator<dim,Accessor>::operator++(),
-        (state() == valid))
+        (state() == IteratorState::valid))
     if (accessor.has_children() == false)
       return *this;
   return *this;
@@ -389,7 +389,7 @@ inline
 TriaActiveIterator<dim,Accessor> &
 TriaActiveIterator<dim,Accessor>::operator -- () {
   while (TriaIterator<dim,Accessor>::operator--(),
-        (state() == valid))
+        (state() == IteratorState::valid))
     if (accessor.has_children() == false)
       return *this;
   return *this;
index 89af62eea3d6ef0886271d690790d2937a787d1e..7f07595410d7e13c0d8c33ba7c94f8d7ad9c9724 100644 (file)
 
 #include <base/config.h>
 
+
+/**
+ * Namespace in which an enumeration is declared that denotes the
+ * states in which an iterator can be in.
+ */
+namespace IteratorState
+{
+  
 /**
  *   The three states an iterator can be in: valid, past-the-end and
  *   invalid.
  */
-enum IteratorState
-{
-      valid,
-      past_the_end,
-      invalid
+  enum IteratorState
+  {
+       valid,
+       past_the_end,
+       invalid
+  };
 };
 
 
+
 #endif
index fb1bb3fc4bb64109f3d45389cde6741a0d8a6d0e..0e31262b8bc9f0a631d3f0a9ba43d3751c2cb15b 100644 (file)
@@ -1351,7 +1351,7 @@ unsigned int DoFHandler<1>::distribute_dofs_on_cell (active_cell_iterator &cell,
     {
       cell_iterator neighbor = cell->neighbor(v);
 
-      if (neighbor.state() == valid)
+      if (neighbor.state() == IteratorState::valid)
        {
                                           // find true neighbor; may be its
                                           // a child of @p{neighbor}
index 6fa4bf0b681449fa1af9706f2a5e8c94bdd92ed0..64d7fdd69fe908ea49d2b24399bc10dfa74f1f5f 100644 (file)
@@ -163,7 +163,7 @@ template <template <int> class GridClass, int dim>
 typename InterGridMap<GridClass,dim>::cell_iterator
 InterGridMap<GridClass,dim>::operator [] (const cell_iterator &source_cell) const
 {
-  Assert (source_cell.state() == valid,
+  Assert (source_cell.state() == IteratorState::valid,
          ExcInvalidKey (source_cell));
   Assert (source_cell->level() <= static_cast<int>(mapping.size()),
          ExcInvalidKey (source_cell));
index 550df0c14c79e569d8c8276fee1d8dac53d8bab8..f9d565c1eccf59ab83a67fb910f0f81d8258e87a 100644 (file)
@@ -3209,10 +3209,10 @@ Triangulation<dim>::begin_line (const unsigned int level) const
 {
                                   // level is checked in begin_raw
   raw_line_iterator ri = begin_raw_line (level);
-  if (ri.state() != valid)
+  if (ri.state() != IteratorState::valid)
     return ri;
   while (ri->used() == false)
-    if ((++ri).state() != valid)
+    if ((++ri).state() != IteratorState::valid)
       return ri;
   return ri;
 };
@@ -3225,10 +3225,10 @@ Triangulation<dim>::begin_quad (const unsigned int level) const
 {
                                   // level is checked in begin_raw
   raw_quad_iterator ri = begin_raw_quad (level);
-  if (ri.state() != valid)
+  if (ri.state() != IteratorState::valid)
     return ri;
   while (ri->used() == false)
-    if ((++ri).state() != valid)
+    if ((++ri).state() != IteratorState::valid)
       return ri;
   return ri;
 };
@@ -3241,10 +3241,10 @@ Triangulation<dim>::begin_hex (const unsigned int level) const
 {
                                   // level is checked in begin_raw
   raw_hex_iterator ri = begin_raw_hex (level);
-  if (ri.state() != valid)
+  if (ri.state() != IteratorState::valid)
     return ri;
   while (ri->used() == false)
-    if ((++ri).state() != valid)
+    if ((++ri).state() != IteratorState::valid)
       return ri;
   return ri;
 };
@@ -3257,10 +3257,10 @@ Triangulation<dim>::begin_active_line (const unsigned int level) const
 {
                                   // level is checked in begin_raw
   line_iterator i = begin_line (level);
-  if (i.state() != valid)
+  if (i.state() != IteratorState::valid)
     return i;
   while (i->has_children())
-    if ((++i).state() != valid)
+    if ((++i).state() != IteratorState::valid)
       return i;
   return i;
 };
@@ -3273,10 +3273,10 @@ Triangulation<dim>::begin_active_quad (const unsigned int level) const
 {
                                   // level is checked in begin_raw
   quad_iterator i = begin_quad (level);
-  if (i.state() != valid)
+  if (i.state() != IteratorState::valid)
     return i;
   while (i->has_children())
-    if ((++i).state() != valid)
+    if ((++i).state() != IteratorState::valid)
       return i;
   return i;
 };
@@ -3289,10 +3289,10 @@ Triangulation<dim>::begin_active_hex (const unsigned int level) const
 {
                                   // level is checked in begin_raw
   hex_iterator i = begin_hex (level);
-  if (i.state() != valid)
+  if (i.state() != IteratorState::valid)
     return i;
   while (i->has_children())
-    if ((++i).state() != valid)
+    if ((++i).state() != IteratorState::valid)
       return i;
   return i;
 };
@@ -3402,7 +3402,7 @@ Triangulation<dim>::last_line (const unsigned int level) const {
   raw_line_iterator ri = last_raw_line(level);
   if (ri->used()==true)
     return ri;
-  while ((--ri).state() == valid)
+  while ((--ri).state() == IteratorState::valid)
     if (ri->used()==true)
       return ri;
   return ri;
@@ -3416,7 +3416,7 @@ Triangulation<dim>::last_quad (const unsigned int level) const {
   raw_quad_iterator ri = last_raw_quad(level);
   if (ri->used()==true)
     return ri;
-  while ((--ri).state() == valid)
+  while ((--ri).state() == IteratorState::valid)
     if (ri->used()==true)
       return ri;
   return ri;
@@ -3430,7 +3430,7 @@ Triangulation<dim>::last_hex (const unsigned int level) const {
   raw_hex_iterator ri = last_raw_hex(level);
   if (ri->used()==true)
     return ri;
-  while ((--ri).state() == valid)
+  while ((--ri).state() == IteratorState::valid)
     if (ri->used()==true)
       return ri;
   return ri;
@@ -3465,7 +3465,7 @@ Triangulation<dim>::last_active_line (const unsigned int level) const {
   line_iterator i = last_line(level);
   if (i->has_children()==false)
     return i;
-  while ((--i).state() == valid)
+  while ((--i).state() == IteratorState::valid)
     if (i->has_children()==false)
       return i;
   return i;
@@ -3479,7 +3479,7 @@ Triangulation<dim>::last_active_quad (const unsigned int level) const {
   quad_iterator i = last_quad(level);
   if (i->has_children()==false)
     return i;
-  while ((--i).state() == valid)
+  while ((--i).state() == IteratorState::valid)
     if (i->has_children()==false)
       return i;
   return i;
@@ -3493,7 +3493,7 @@ Triangulation<dim>::last_active_hex (const unsigned int level) const {
   hex_iterator i = last_hex(level);
   if (i->has_children()==false)
     return i;
-  while ((--i).state() == valid)
+  while ((--i).state() == IteratorState::valid)
     if (i->has_children()==false)
       return i;
   return i;
@@ -4155,7 +4155,7 @@ void Triangulation<1>::execute_refinement () {
                                             // (refer to \Ref{TriangulationLevel<0>}
                                             // for details)
            first_child->set_neighbor (1, second_child);
-           if (cell->neighbor(0).state() != valid)
+           if (cell->neighbor(0).state() != IteratorState::valid)
              first_child->set_neighbor (0, cell->neighbor(0));
            else
              if (cell->neighbor(0)->active())
@@ -4194,7 +4194,7 @@ void Triangulation<1>::execute_refinement () {
            second_child->set_neighbor (0, first_child);
            second_child->set_material_id (cell->material_id());
            second_child->set_subdomain_id (cell->subdomain_id());          
-           if (cell->neighbor(1).state() != valid)
+           if (cell->neighbor(1).state() != IteratorState::valid)
              second_child->set_neighbor (1, cell->neighbor(1));
            else
              if (cell->neighbor(1)->active())
@@ -4304,7 +4304,7 @@ void Triangulation<2>::execute_refinement () {
              {
                const cell_iterator neighbor = acell->neighbor(nb);
                                                 // if cell is at boundary
-               if (neighbor.state() != valid) 
+               if (neighbor.state() != IteratorState::valid) 
                  {
                                                     // new midpoint vertex
                                                     // necessary
@@ -4435,7 +4435,7 @@ void Triangulation<2>::execute_refinement () {
 #ifdef DEBUG
            for (unsigned int neighbor=0;
                 neighbor<GeometryInfo<dim>::faces_per_cell; ++neighbor)
-             if (cell->neighbor(neighbor).state() == valid)
+             if (cell->neighbor(neighbor).state() == IteratorState::valid)
                Assert (((cell->neighbor(neighbor)->level() == cell->level()) &&
                         (cell->neighbor(neighbor)->coarsen_flag_set() == false))  ||
                        ((cell->neighbor(neighbor)->level() == cell->level()-1) &&
@@ -4539,7 +4539,7 @@ void Triangulation<2>::execute_refinement () {
            for (unsigned int nb=0; nb<4; ++nb)
              {
                bool neighbor_refined=false;
-               if (cell->neighbor(nb).state() == valid)
+               if (cell->neighbor(nb).state() == IteratorState::valid)
                  if (cell->neighbor(nb)->active() == false)
                                                     // (ask in two if-statements,
                                                     // since otherwise both
@@ -4807,7 +4807,7 @@ void Triangulation<2>::execute_refinement () {
            const int neighbor_mapping[8] = {0,1, 1,2, 2,3, 3,0};
            
            for (unsigned int nb=0; nb<8; ++nb)
-             if (neighbors[nb].state() == valid)
+             if (neighbors[nb].state() == IteratorState::valid)
                if (neighbors[nb]->level() == level+1)
                                                   // neighbor is refined cell
                  neighbors[nb]->set_neighbor(neighbors_neighbor[nb],
@@ -5391,7 +5391,7 @@ void Triangulation<3>::execute_refinement ()
 #ifdef DEBUG
            for (unsigned int neighbor=0;
                 neighbor<GeometryInfo<dim>::faces_per_cell; ++neighbor)
-             if (hex->neighbor(neighbor).state() == valid)
+             if (hex->neighbor(neighbor).state() == IteratorState::valid)
                Assert (((hex->neighbor(neighbor)->level() == hex->level()) &&
                         (hex->neighbor(neighbor)->coarsen_flag_set() == false))  ||
                        ((hex->neighbor(neighbor)->level() == hex->level()-1) &&
@@ -5935,7 +5935,7 @@ void Triangulation<3>::execute_refinement ()
                const cell_iterator neighbor = hex->neighbor(face);
 
                                                 // if no neighbor
-               if (neighbor.state() != valid)
+               if (neighbor.state() != IteratorState::valid)
                  for (unsigned int child_face=0;
                       child_face<GeometryInfo<dim>::subfaces_per_face;
                       ++child_face)
@@ -5993,7 +5993,8 @@ void Triangulation<3>::execute_refinement ()
                            neighbor_cells[face][c]
                              = neighbor->child(GeometryInfo<dim>::child_cell_on_face(nb_nb, c));
                            
-                           Assert (neighbor_cells[face][c].state() == valid,
+                           Assert (neighbor_cells[face][c].state() ==
+                                   IteratorState::valid,
                                    ExcInternalError());
                            Assert (!neighbor_cells[face][c]->has_children(),
                                    ExcInternalError());
@@ -6071,7 +6072,8 @@ void Triangulation<3>::execute_refinement ()
            for (unsigned int nb=0; nb<GeometryInfo<dim>::faces_per_cell; ++nb)
              for (unsigned int subface=0;
                   subface<GeometryInfo<dim>::subfaces_per_face; ++subface)
-               if ((neighbor_cells[nb][subface].state() == valid) &&
+               if ((neighbor_cells[nb][subface].state() ==
+                    IteratorState::valid) &&
                    (neighbor_cells[nb][subface]->level() ==
                     hex->level()+1))
                  {
@@ -6439,7 +6441,7 @@ void Triangulation<dim>::fix_coarsen_flags () {
          for (unsigned int n=0; n<GeometryInfo<dim>::faces_per_cell; ++n)
            {
              const cell_iterator child_neighbor = cell->child(c)->neighbor(n);
-             if (child_neighbor.state() == valid)
+             if (child_neighbor.state() == IteratorState::valid)
                if (child_neighbor->has_children() ||
                                                     // neighbor has children,
                                                     // then only allow coarsening
@@ -6672,7 +6674,7 @@ bool Triangulation<dim>::prepare_coarsening_and_refinement () {
                           n<GeometryInfo<dim>::faces_per_cell; ++n)
                        {
                          const cell_iterator neighbor = cell->neighbor(n);
-                         if (neighbor.state() == valid)
+                         if (neighbor.state() == IteratorState::valid)
                            {
                              ++n_neighbors;
 
@@ -6766,10 +6768,10 @@ bool Triangulation<dim>::prepare_coarsening_and_refinement () {
                    for (unsigned int n=0; n<GeometryInfo<dim>::faces_per_cell; ++n) 
                      {
                        const cell_iterator neighbor = cell->neighbor(n);
-                       if (neighbor.state() == valid)
+                       if (neighbor.state() == IteratorState::valid)
                          ++total_neighbors;
 
-                       if (neighbor.state() == valid)
+                       if (neighbor.state() == IteratorState::valid)
                          if ((neighbor->active() &&
                               !neighbor->refine_flag_set()) ||
                              (neighbor->level() == cell->level()-1))
@@ -7117,7 +7119,7 @@ bool Triangulation<dim>::prepare_coarsening_and_refinement () {
          {
                                             // loop over neighbors of cell
            for (unsigned int i=0; i<GeometryInfo<dim>::faces_per_cell; ++i)
-             if (cell->neighbor(i).state() == valid)
+             if (cell->neighbor(i).state() == IteratorState::valid)
                {
                                                   // regularisation?
                  if ((cell->neighbor_level(i) == cell->level()-1)
@@ -7212,7 +7214,7 @@ void Triangulation<1>::delete_children (cell_iterator &cell) {
   
                                   // first do it for the cells to the
                                   // left
-  if (cell->neighbor(0).state() == valid)
+  if (cell->neighbor(0).state() == IteratorState::valid)
     if (cell->neighbor(0)->has_children())
       {
        cell_iterator neighbor = cell->neighbor(0);
@@ -7238,7 +7240,7 @@ void Triangulation<1>::delete_children (cell_iterator &cell) {
 
                                   // now do it for the cells to the
                                   // left
-  if (cell->neighbor(1).state() == valid)
+  if (cell->neighbor(1).state() == IteratorState::valid)
     if (cell->neighbor(1)->has_children())
       {
        cell_iterator neighbor = cell->neighbor(1);
@@ -7315,7 +7317,7 @@ void Triangulation<2>::delete_children (cell_iterator &cell) {
       {
        const cell_iterator neighbor = cell->child(child)->neighbor(n);
                                         // do nothing if at boundary
-       if (neighbor.state() != valid)
+       if (neighbor.state() != IteratorState::valid)
          continue;
        
        Assert ((neighbor->level()==cell->level()) ||
@@ -7382,7 +7384,7 @@ void Triangulation<2>::delete_children (cell_iterator &cell) {
                                   // one less or the same as that of
                                   // cell
   for (unsigned int face=0; face<GeometryInfo<dim>::faces_per_cell; ++face) 
-    if ((cell->neighbor(face).state() != valid) ||
+    if ((cell->neighbor(face).state() != IteratorState::valid) ||
        (cell->neighbor(face)->level() == cell->level()-1) ||
        ((cell->neighbor(face)->level() == cell->level()) &&
         !cell->neighbor(face)->has_children()))
@@ -7444,7 +7446,7 @@ void Triangulation<3>::delete_children (cell_iterator &cell) {
       {
        const cell_iterator neighbor = cell->child(child)->neighbor(n);
                                         // do nothing if at boundary
-       if (neighbor.state() != valid)
+       if (neighbor.state() != IteratorState::valid)
          continue;
        
        Assert ((neighbor->level()==cell->level()) ||
@@ -7544,7 +7546,7 @@ void Triangulation<3>::delete_children (cell_iterator &cell) {
                                   // one less or the same as that of
                                   // cell
   for (unsigned int face=0; face<GeometryInfo<dim>::faces_per_cell; ++face) 
-    if ((cell->neighbor(face).state() != valid) ||
+    if ((cell->neighbor(face).state() != IteratorState::valid) ||
        (cell->neighbor(face)->level() == cell->level()-1) ||
        ((cell->neighbor(face)->level() == cell->level()) &&
         !cell->neighbor(face)->has_children()))
@@ -7653,7 +7655,7 @@ void Triangulation<3>::delete_children (cell_iterator &cell) {
     {
       const cell_iterator neighbor = cell->neighbor(nb);
                                       // do nothing if at boundary
-      if (neighbor.state() != valid)
+      if (neighbor.state() != IteratorState::valid)
        continue;
 
       Assert (neighbor->level() == cell->level(),
@@ -7688,7 +7690,7 @@ void Triangulation<3>::delete_children (cell_iterator &cell) {
        {
          const cell_iterator neighbor_neighbor = neighbor->neighbor(nb_nb);
                                           // do nothing if at boundary
-         if (neighbor_neighbor.state() != valid)
+         if (neighbor_neighbor.state() != IteratorState::valid)
            continue;
 
          Assert ((neighbor_neighbor->level() == cell->level()) ||
index cb8c7676da271a1a0ef77d52b93b1ff803772f9d..488493b1faedc1bcdd2ad49b691422b05bb506c1 100644 (file)
@@ -54,7 +54,7 @@ TriaObjectAccessor<1, dim>::vertex (const unsigned int i) const
 template <int dim>
 void TriaObjectAccessor<1, dim>::set_used_flag () const
 {
-  Assert (state() == valid,
+  Assert (state() == IteratorState::valid,
          typename TriaAccessor<dim>::ExcDereferenceInvalidObject());
   tria->levels[present_level]->lines.used[present_index] = true;
 };
@@ -64,7 +64,7 @@ void TriaObjectAccessor<1, dim>::set_used_flag () const
 template <int dim>
 void TriaObjectAccessor<1, dim>::clear_used_flag () const
 {
-  Assert (state() == valid,
+  Assert (state() == IteratorState::valid,
          typename TriaAccessor<dim>::ExcDereferenceInvalidObject());
   tria->levels[present_level]->lines.used[present_index] = false;
 };
@@ -256,7 +256,8 @@ template <int dim>
 void
 TriaObjectAccessor<2, dim>::set_used_flag () const
 {
-  Assert (state() == valid, typename TriaAccessor<dim>::ExcDereferenceInvalidObject());
+  Assert (state() == IteratorState::valid,
+         typename TriaAccessor<dim>::ExcDereferenceInvalidObject());
   tria->levels[present_level]->quads.used[present_index] = true;
 };
 
@@ -265,7 +266,8 @@ TriaObjectAccessor<2, dim>::set_used_flag () const
 template <int dim>
 void TriaObjectAccessor<2, dim>::clear_used_flag () const
 {
-  Assert (state() == valid, typename TriaAccessor<dim>::ExcDereferenceInvalidObject());
+  Assert (state() == IteratorState::valid,
+         typename TriaAccessor<dim>::ExcDereferenceInvalidObject());
   tria->levels[present_level]->quads.used[present_index] = false;
 };
 
@@ -649,7 +651,8 @@ TriaObjectAccessor<3, dim>::vertex (const unsigned int i) const
 template <int dim>
 void TriaObjectAccessor<3, dim>::set_used_flag () const
 {
-  Assert (state() == valid, typename TriaAccessor<dim>::ExcDereferenceInvalidObject());
+  Assert (state() == IteratorState::valid,
+         typename TriaAccessor<dim>::ExcDereferenceInvalidObject());
   tria->levels[present_level]->hexes.used[present_index] = true;
 };
 
@@ -658,7 +661,8 @@ void TriaObjectAccessor<3, dim>::set_used_flag () const
 template <int dim>
 void TriaObjectAccessor<3, dim>::clear_used_flag () const
 {
-  Assert (state() == valid, typename TriaAccessor<dim>::ExcDereferenceInvalidObject());
+  Assert (state() == IteratorState::valid,
+         typename TriaAccessor<dim>::ExcDereferenceInvalidObject());
   tria->levels[present_level]->hexes.used[present_index] = false;
 };
 
@@ -1743,7 +1747,7 @@ void CellAccessor<dim>::set_neighbor (const unsigned int i,
   Assert (i<GeometryInfo<dim>::faces_per_cell,
          typename TriaAccessor<dim>::ExcInvalidNeighbor(i));
 
-  if (pointer.state() == valid)
+  if (pointer.state() == IteratorState::valid)
     {
       tria->levels[present_level]->
        neighbors[present_index*GeometryInfo<dim>::faces_per_cell+i].first
index 294fb78c7ca8f065586efbe753ad89f32af94d9e..ae0646644899c15c267b08f30c884c09c2278746 100644 (file)
@@ -172,7 +172,7 @@ MGDoFObjectAccessor<1, dim>::child (const unsigned int i) const
                                                    mg_dof_handler);
   
 #ifdef DEBUG
-  if (q.state() != past_the_end)
+  if (q.state() != IteratorState::past_the_end)
     Assert (q->used(), typename TriaAccessor<dim>::ExcUnusedCellAsChild());
 #endif
   return q;
@@ -354,7 +354,7 @@ MGDoFObjectAccessor<2, dim>::child (const unsigned int i) const
                                                    mg_dof_handler);
   
 #ifdef DEBUG
-  if (q.state() != past_the_end)
+  if (q.state() != IteratorState::past_the_end)
     Assert (q->used(), typename TriaAccessor<dim>::ExcUnusedCellAsChild());
 #endif
   return q;
@@ -558,7 +558,7 @@ MGDoFObjectAccessor<3, dim>::child (const unsigned int i) const {
                                                    mg_dof_handler);
   
 #ifdef DEBUG
-  if (q.state() != past_the_end)
+  if (q.state() != IteratorState::past_the_end)
     Assert (q->used(), typename TriaAccessor<dim>::ExcUnusedCellAsChild());
 #endif
   return q;
@@ -584,7 +584,7 @@ MGDoFCellAccessor<dim>::neighbor (const unsigned int i) const {
                                               mg_dof_handler);
   
 #ifdef DEBUG
-  if (q.state() != past_the_end)
+  if (q.state() != IteratorState::past_the_end)
     Assert (q->used(), typename TriaAccessor<dim>::ExcUnusedCellAsNeighbor());
 #endif
   return q;
@@ -600,7 +600,7 @@ MGDoFCellAccessor<dim>::child (const unsigned int i) const {
                                               mg_dof_handler);
   
 #ifdef DEBUG
-  if (q.state() != past_the_end)
+  if (q.state() != IteratorState::past_the_end)
     Assert (q->used(), typename TriaAccessor<dim>::ExcUnusedCellAsChild());
 #endif
   return q;
index ac0b253e75a84edb7899e367bb0c8d5f492864a1..a82bdc21626f9d005307fbe992ef438cb70ad50b 100644 (file)
@@ -1221,7 +1221,7 @@ MGDoFHandler<1>::distribute_dofs_on_cell (cell_iterator &cell,
       {
        cell_iterator neighbor = cell->neighbor(v);
        
-       if (neighbor.state() == valid)
+       if (neighbor.state() == IteratorState::valid)
          {
                                             // has neighbor already been processed?
            if (neighbor->user_flag_set() &&
index fb505e35e19abcac427230d8f2cadbe9f99fd9f4..6d0789d709a19e9fa77ad5d04bf8b2f2a5b32495 100644 (file)
@@ -83,7 +83,7 @@ MGSmootherContinuous::MGSmootherContinuous (const MGDoFHandler<dim> &mg_dof,
       for (typename MGDoFHandler<dim>::cell_iterator cell=mg_dof.begin(level);
           cell != mg_dof.end(level); ++cell)
        for (unsigned int face=0; face<GeometryInfo<dim>::faces_per_cell; ++face)
-         if ((cell->neighbor(face).state() == valid) &&
+         if ((cell->neighbor(face).state() == IteratorState::valid) &&
              (static_cast<unsigned int>(cell->neighbor(face)->level())
               == level-1))
            {
index 7c6460dbf55333606576a0fefcc92e72ffdc36aa..4020b0ed7ccb2ac7ba5445a0dc1cb5f326601696 100644 (file)
@@ -304,7 +304,7 @@ void KellyErrorEstimator<1>::estimate (const Mapping<1>                    &mapp
        {
                                           // find right active neighbor
          DoFHandler<dim>::cell_iterator neighbor = cell->neighbor(n);
-         if (neighbor.state() == valid)
+         if (neighbor.state() == IteratorState::valid)
            while (neighbor->has_children())
              neighbor = neighbor->child(n==0 ? 1 : 0);
       
@@ -315,7 +315,7 @@ void KellyErrorEstimator<1>::estimate (const Mapping<1>                    &mapp
          for (unsigned int s=0; s<n_solution_vectors; ++s)
            fe_values.get_function_grads (*solutions[s], gradients_here[s]);
 
-         if (neighbor.state() == valid)
+         if (neighbor.state() == IteratorState::valid)
            {
              fe_values.reinit (neighbor);
 
@@ -780,7 +780,7 @@ integrate_over_regular_face (Data                       &data,
                                     // internal face; integrate jump
                                     // of gradient across this face
     {
-      Assert (cell->neighbor(face_no).state() == valid,
+      Assert (cell->neighbor(face_no).state() == IteratorState::valid,
              ExcInternalError());      
       
       const active_cell_iterator neighbor = cell->neighbor(face_no);
@@ -947,7 +947,7 @@ integrate_over_irregular_face (Data                       &data,
                     n_components       = data.dof_handler.get_fe().n_components(),
                     n_solution_vectors = data.n_solution_vectors;
 
-  Assert (neighbor.state() == valid, ExcInternalError());
+  Assert (neighbor.state() == IteratorState::valid, ExcInternalError());
   Assert (neighbor->has_children(), ExcInternalError());
                                   // set up a vector of the gradients
                                   // of the finite element function
index 5714d5a6a00a4a2d0f20555b89641d760ca6fe2a..c2f8c94d66af3eace3aff7465542c57dfe1728e6 100644 (file)
@@ -723,7 +723,7 @@ VectorTools::interpolate_boundary_values (const Mapping<1>         &,
                                   // grid to its end and then going
                                   // to the children
   DoFHandler<1>::cell_iterator outermost_cell = dof.begin(0);
-  while (outermost_cell->neighbor(direction).state() == valid)
+  while (outermost_cell->neighbor(direction).state() == IteratorState::valid)
     outermost_cell = outermost_cell->neighbor(direction);
   
   while (outermost_cell->has_children())
index 42663f0237828144759e9d2caf944a20267bcfa8..2e0823860dce5d68a762afa3e8363a9a0df03982 100644 (file)
@@ -220,6 +220,17 @@ documentation, etc</a>.
 <h3>deal.II</h3>
 
 <ol>
+  <li> <p>
+       Changed: The <code class="class">IteratorState</code> enum used
+       to indicate the state in which an iterator can be is now
+       enclosed in a namespace of the same name, to take its members
+       out of the global namespace. When using one of these members,
+       you now have to prefix it by <code
+       class="class">IteratorState::</code>.
+       <br>
+       (RH, WB 2001/11/30)
+       </p>
+
   <li> <p>
        Changed: The <code class="class">NormType</code> enum used to
        indicate the norm the <code
index 953ade84542a5d4b0028f3542b9d70334c76b8f9..b9111306dd1a48ff8b284a3e4ddef2029976606e 100644 (file)
@@ -1279,7 +1279,8 @@ void DGMethod<dim>::assemble_system2 ()
            }
          else
            {
-             Assert (cell->neighbor(face_no).state() == valid, ExcInternalError());
+             Assert (cell->neighbor(face_no).state() == IteratorState::valid,
+                     ExcInternalError());
              typename DoFHandler<dim>::cell_iterator neighbor=
                cell->neighbor(face_no);
                                               // Case 2:

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.