From 5025cb8ed81b46ae3ed6e078ff4b4ce531fb59cf Mon Sep 17 00:00:00 2001 From: Jonathan Youett <youett@math.fu-berlin.de> Date: Fri, 1 Sep 2017 11:12:47 +0200 Subject: [PATCH] Use wrap_move_share to extend the setter to l-value and r-values --- dune/solvers/iterationsteps/mmgstep.hh | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/dune/solvers/iterationsteps/mmgstep.hh b/dune/solvers/iterationsteps/mmgstep.hh index 0fccf3b6..95a71526 100644 --- a/dune/solvers/iterationsteps/mmgstep.hh +++ b/dune/solvers/iterationsteps/mmgstep.hh @@ -8,6 +8,7 @@ #include <dune/solvers/transferoperators/multigridtransfer.hh> #include <dune/solvers/common/boxconstraint.hh> +#include <dune/solvers/common/wrapownshare.hh> #include <dune/solvers/transferoperators/obstaclerestrictor.hh> /** \brief The general monotone multigrid solver @@ -59,8 +60,9 @@ public: void setObstacles(ObstacleVectorType* obstacles) {obstacles_ = obstacles;} //! Set the obstacle restrictor - void setObstacleRestrictor(std::shared_ptr<ObstacleRestrictor<VectorType> > restrictor) { - obstacleRestrictor_ = restrictor; + template <class Restrictor> + void setObstacleRestrictor(Restrictor&& restrictor) { + obstacleRestrictor_ = Dune::Solvers::wrap_own_share<ObstacleRestrictor<VectorType> >(std::forward<Restrictor>(restrictor)); } //! Bitfield determining which fine grid nodes have an obstacle -- GitLab