diff --git a/dune/solvers/common/genericvectortools.hh b/dune/solvers/common/genericvectortools.hh index d666e5aa2ac3fa02305084fa56c32a23bd194beb..c0a9bc0bc89d496bf862f6e87b655acc3a855c2f 100644 --- a/dune/solvers/common/genericvectortools.hh +++ b/dune/solvers/common/genericvectortools.hh @@ -32,8 +32,9 @@ struct GenericVector template <class VectorType> static void writeBinary(std::ostream& s, const VectorType& v) { - Dune::Solvers::integralRangeFor<std::size_t>(Dune::Indices::_0, Dune::Solvers::hybridSize(v), [&](auto&& i) { - GenericVector::writeBinary(s, v[i]); + namespace HA = Dune::Solvers::HybridAlgorithm; + HA::forEach(v, [&](auto&& vi) { + GenericVector::writeBinary(s, vi); }); } @@ -51,10 +52,10 @@ struct GenericVector template <class VectorType> static void readBinary(std::istream& s, VectorType& v) { - typename VectorType::iterator it = v.begin(); - typename VectorType::iterator end = v.end(); - for(; it!=end; ++it) - GenericVector::readBinary(s, *it); + namespace HA = Dune::Solvers::HybridAlgorithm; + HA::forEach(v, [&](auto&& vi) { + GenericVector::readBinary(s, vi); + }); } template <class field_type, int n>