From e1f066bea3f140aa07ea369b2b4d36dca2a8e8ad Mon Sep 17 00:00:00 2001
From: Max Kahnt <max.kahnt@fu-berlin.de>
Date: Tue, 26 Jul 2016 11:51:02 +0200
Subject: [PATCH] Use auto types for iterators.

---
 dune/matrix-vector/transformmatrix.hh | 64 ++++++---------------------
 1 file changed, 13 insertions(+), 51 deletions(-)

diff --git a/dune/matrix-vector/transformmatrix.hh b/dune/matrix-vector/transformmatrix.hh
index 3ce403e..038ee29 100644
--- a/dune/matrix-vector/transformmatrix.hh
+++ b/dune/matrix-vector/transformmatrix.hh
@@ -21,14 +21,10 @@ namespace MatrixVector {
                                      const MatrixB& B,
                                      const TransformationMatrix& T2) {
       for (size_t i = 0; i < A.N(); ++i) {
-        typename MatrixA::row_type::Iterator jIt = A[i].begin();
-        typename MatrixA::row_type::Iterator jEnd = A[i].end();
-        for (; jIt != jEnd; ++jIt) {
+        for (auto jIt = A[i].begin(); jIt != A[i].end(); ++jIt) {
           for (size_t k = 0; k < B.N(); ++k) {
             if (T1.exists(k, i)) {
-              typename MatrixB::row_type::ConstIterator lIt = B[k].begin();
-              typename MatrixB::row_type::ConstIterator lEnd = B[k].end();
-              for (; lIt != lEnd; ++lIt)
+              for (auto lIt = B[k].begin(); lIt != B[k].end(); ++lIt)
                 if (T2.exists(lIt.index(), jIt.index()))
                   *jIt += T1[k][i] * (*lIt) * T2[lIt.index()][jIt.index()];
             }
@@ -134,12 +130,8 @@ namespace MatrixVector {
                                      const ScalarB& B,
                                      const TransformationMatrix& T2) {
       for (size_t k = 0; k < TransformationMatrix::rows; ++k) {
-        typename TransformationMatrix::ConstColIterator Skj = T2[k].begin();
-        typename TransformationMatrix::ConstColIterator SkEnd = T2[k].end();
-        for (; Skj != SkEnd; ++Skj) {
-          typename TransformationMatrix::ConstColIterator Tki = T1[k].begin();
-          typename TransformationMatrix::ConstColIterator TkEnd = T1[k].end();
-          for (; Tki != TkEnd; Tki++)
+        for (auto Skj = T2[k].begin(); Skj != T2[k].end(); ++Skj) {
+          for (auto Tki = T1[k].begin(); Tki != T1[k].end(); Tki++)
             if (A.exists(Tki.index(), Skj.index()))
               A[Tki.index()][Skj.index()] += (*Tki) * B * (*Skj);
         }
@@ -183,12 +175,8 @@ namespace MatrixVector {
         const Dune::DiagonalMatrix<FieldType, n>& B,
         const TransformationMatrix& T2) {
       for (size_t k = 0; k < n; ++k) {
-        typename TransformationMatrix::ConstColIterator Skj = T2[k].begin();
-        typename TransformationMatrix::ConstColIterator SkEnd = T2[k].end();
-        for (; Skj != SkEnd; ++Skj) {
-          typename TransformationMatrix::ConstColIterator Tki = T1[k].begin();
-          typename TransformationMatrix::ConstColIterator TkEnd = T1[k].end();
-          for (; Tki != TkEnd; Tki++)
+        for (auto Skj = T2[k].begin(); Skj != T2[k].end(); ++Skj) {
+          for (auto Tki = T1[k].begin(); Tki != T1[k].end(); Tki++)
             if (A.exists(Tki.index(), Skj.index())) {
               A[Tki.index()][Skj.index()] += (*Tki) * B.diagonal(k) * (*Skj);
             }
@@ -221,9 +209,7 @@ namespace MatrixVector {
         const Dune::DiagonalMatrix<FieldType, n>& B,
         const TransformationMatrix& T2) {
       for (int k = 0; k < n; k++) {
-        typename TransformationMatrix::ConstColIterator Tki = T1[k].begin();
-        typename TransformationMatrix::ConstColIterator TkEnd = T1[k].end();
-        for (; Tki != TkEnd; ++Tki)
+        for (auto Tki = T1[k].begin(); Tki != T1[k].end(); ++Tki)
           A.diagonal(Tki.index()) +=
               (*Tki) * B.diagonal(k) * T2[k][Tki.index()];
       }
@@ -293,23 +279,11 @@ namespace MatrixVector {
     transformMatrixPattern(A, T1, B, T2);
     A = 0.0;
     for (int k = 0; k < B.N(); ++k) {
-      typename MatrixB::row_type::ConstIterator BklIt = B[k].begin();
-      typename MatrixB::row_type::ConstIterator BklEnd = B[k].end();
-      for (; BklIt != BklEnd; ++BklIt) {
+      for (auto BklIt = B[k].begin(); BklIt != B[k].end(); ++BklIt) {
         int l = BklIt.index();
-
-        typename TransformationMatrix::row_type::ConstIterator T1kiIt =
-            T1[k].begin();
-        typename TransformationMatrix::row_type::ConstIterator T1kiEnd =
-            T1[k].end();
-        for (; T1kiIt != T1kiEnd; ++T1kiIt) {
+        for (auto T1kiIt = T1[k].begin(); T1kiIt != T1[k].end(); ++T1kiIt) {
           int i = T1kiIt.index();
-
-          typename TransformationMatrix::row_type::ConstIterator T2ljIt =
-              T2[l].begin();
-          typename TransformationMatrix::row_type::ConstIterator T2ljEnd =
-              T2[l].end();
-          for (; T2ljIt != T2ljEnd; ++T2ljIt) {
+          for (auto T2ljIt = T2[l].begin(); T2ljIt != T2[l].end(); ++T2ljIt) {
             int j = T2ljIt.index();
             MatrixBlockA Aij;
             transformMatrix(Aij, *T1kiIt, *BklIt, *T2ljIt);
@@ -327,23 +301,11 @@ namespace MatrixVector {
                                      const TransformationMatrix& T2) {
     Dune::MatrixIndexSet indices(T1.M(), T2.M());
     for (int k = 0; k < B.N(); ++k) {
-      typename MatrixB::row_type::ConstIterator BklIt = B[k].begin();
-      typename MatrixB::row_type::ConstIterator BklEnd = B[k].end();
-      for (; BklIt != BklEnd; ++BklIt) {
+      for (auto BklIt = B[k].begin(); BklIt != B[k].end(); ++BklIt) {
         int l = BklIt.index();
-
-        typename TransformationMatrix::row_type::ConstIterator T1kiIt =
-            T1[k].begin();
-        typename TransformationMatrix::row_type::ConstIterator T1kiEnd =
-            T1[k].end();
-        for (; T1kiIt != T1kiEnd; ++T1kiIt) {
+        for (auto T1kiIt = T1[k].begin(); T1kiIt != T1[k].end(); ++T1kiIt) {
           int i = T1kiIt.index();
-
-          typename TransformationMatrix::row_type::ConstIterator T2ljIt =
-              T2[l].begin();
-          typename TransformationMatrix::row_type::ConstIterator T2ljEnd =
-              T2[l].end();
-          for (; T2ljIt != T2ljEnd; ++T2ljIt) {
+          for (auto T2ljIt = T2[l].begin(); T2ljIt != T2[l].end(); ++T2ljIt) {
             int j = T2ljIt.index();
             indices.add(i, j);
           }
-- 
GitLab