From 61883e44dbc079992b767a71f5551a6bcca8adb8 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Carsten=20Gr=C3=A4ser?= <graeser@dune-project.org>
Date: Tue, 22 Nov 2016 18:13:05 +0100
Subject: [PATCH] Allow l-values as arguments

---
 dune/solvers/iterationsteps/blockgssteps.hh | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/dune/solvers/iterationsteps/blockgssteps.hh b/dune/solvers/iterationsteps/blockgssteps.hh
index 01d17c64..0c4b56fa 100644
--- a/dune/solvers/iterationsteps/blockgssteps.hh
+++ b/dune/solvers/iterationsteps/blockgssteps.hh
@@ -310,9 +310,10 @@ auto gs(double tol = LinearSolvers::defaultGsTol,
 template <class Matrix, class Vector, class BitVector, class LocalSolver>
 struct BlockGSStep : public LinearIterationStep<Matrix, Vector, BitVector> {
 
-  BlockGSStep(LocalSolver&& localSolver,
+  template<class LS>
+  BlockGSStep(LS&& localSolver,
               BlockGS::Direction direction = BlockGS::Direction::FORWARD)
-      : localSolver_(localSolver)
+      : localSolver_(std::forward<LS>(localSolver))
       , direction_(direction) {}
 
   void iterate() {
-- 
GitLab