From 2ae04f710abcb2c9bc79f7d5d4c735d9939a9140 Mon Sep 17 00:00:00 2001
From: Wolfgang Bangerth <bangerth@math.tamu.edu>
Date: Wed, 22 Apr 2015 07:12:20 -0500
Subject: [PATCH] Avoid using the deprecated row_iterator types of sparsity
 patterns. Replace them with uses of regular iterators.

---
 source/lac/sparsity_tools.cc | 45 +++++++++++++++++-------------------
 1 file changed, 21 insertions(+), 24 deletions(-)

diff --git a/source/lac/sparsity_tools.cc b/source/lac/sparsity_tools.cc
index 92116587d8..b5bfaeb71c 100644
--- a/source/lac/sparsity_tools.cc
+++ b/source/lac/sparsity_tools.cc
@@ -1,6 +1,6 @@
 // ---------------------------------------------------------------------
 //
-// Copyright (C) 2008 - 2014 by the deal.II authors
+// Copyright (C) 2008 - 2015 by the deal.II authors
 //
 // This file is part of the deal.II library.
 //
@@ -248,9 +248,9 @@ namespace SparsityTools
 
         // find all neighbors of the dofs numbered in the last round
         for (DynamicSparsityPattern::size_type i=0; i<last_round_dofs.size(); ++i)
-          for (DynamicSparsityPattern::row_iterator j=sparsity.row_begin(last_round_dofs[i]);
-               j<sparsity.row_end(last_round_dofs[i]); ++j)
-            next_round_dofs.push_back (*j);
+          for (DynamicSparsityPattern::iterator j=sparsity.begin(last_round_dofs[i]);
+               j<sparsity.end(last_round_dofs[i]); ++j)
+            next_round_dofs.push_back (j->column());
 
         // sort dof numbers
         std::sort (next_round_dofs.begin(), next_round_dofs.end());
@@ -305,10 +305,7 @@ namespace SparsityTools
         for (std::vector<DynamicSparsityPattern::size_type>::iterator s=next_round_dofs.begin();
              s!=next_round_dofs.end(); ++s)
           {
-            DynamicSparsityPattern::size_type coordination = 0;
-            for (DynamicSparsityPattern::row_iterator j=sparsity.row_begin(*s);
-                 j<sparsity.row_end(*s); ++j)
-              ++coordination;
+            const DynamicSparsityPattern::size_type coordination = sparsity.row_length(*s);
 
             // insert this dof at its coordination number
             const std::pair<const DynamicSparsityPattern::size_type, int> new_entry (coordination, *s);
@@ -445,13 +442,13 @@ namespace SparsityTools
 
               next_group.push_back(min_neighbors.first);
               touched_nodes[min_neighbors.first] = groups.size()-1;
-              for (DynamicSparsityPattern::row_iterator it
-                   = connectivity.row_begin(min_neighbors.first);
-                   it != connectivity.row_end(min_neighbors.first); ++it)
-                if (touched_nodes[*it] == numbers::invalid_dof_index)
+              for (DynamicSparsityPattern::iterator it
+                   = connectivity.begin(min_neighbors.first);
+                   it != connectivity.end(min_neighbors.first); ++it)
+                if (touched_nodes[it->column()] == numbers::invalid_dof_index)
                   {
-                    next_group.push_back(*it);
-                    touched_nodes[*it] = groups.size()-1;
+                    next_group.push_back(it->column());
+                    touched_nodes[it->column()] = groups.size()-1;
                   }
 
               // Add all neighbors of the current list not yet touched to the
@@ -461,13 +458,13 @@ namespace SparsityTools
               // the set of possible next pivots.
               for (unsigned int i=0; i<next_group.size(); ++i)
                 {
-                  for (DynamicSparsityPattern::row_iterator it
-                       = connectivity.row_begin(next_group[i]);
-                       it != connectivity.row_end(next_group[i]); ++it)
+                  for (DynamicSparsityPattern::iterator it
+                       = connectivity.begin(next_group[i]);
+                       it != connectivity.end(next_group[i]); ++it)
                     {
-                      if (touched_nodes[*it] == numbers::invalid_dof_index)
-                        current_neighbors.insert(*it);
-                      n_remaining_neighbors[*it]--;
+                      if (touched_nodes[it->column()] == numbers::invalid_dof_index)
+                        current_neighbors.insert(it->column());
+                      n_remaining_neighbors[it->column()]--;
                     }
                   current_neighbors.erase(next_group[i]);
                 }
@@ -487,10 +484,10 @@ namespace SparsityTools
                                                    groups.size());
           for (types::global_dof_index i=0; i<groups.size(); ++i)
             for (types::global_dof_index col=0; col<groups[i].size(); ++col)
-              for (DynamicSparsityPattern::row_iterator it
-                   = connectivity.row_begin(groups[i][col]);
-                   it != connectivity.row_end(groups[i][col]); ++it)
-                connectivity_next.add(i, touched_nodes[*it]);
+              for (DynamicSparsityPattern::iterator it
+                   = connectivity.begin(groups[i][col]);
+                   it != connectivity.end(groups[i][col]); ++it)
+                connectivity_next.add(i, touched_nodes[it->column()]);
 
           // Recursively call the reordering
           std::vector<types::global_dof_index> renumbering_next(groups.size());
-- 
2.39.5