diff --git a/dune/solvers/iterationsteps/blockgssteps.hh b/dune/solvers/iterationsteps/blockgssteps.hh index 01d17c64456b2362cf1e14a9b6e470bc3adde5d0..0c4b56fad2fed6444806c972217d35ee187cea9c 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() {