WIP: Make getiterationstep return shared ptr
The method IterativeSolver::getIterationStep should return a shared_ptr rather than a reference. Since IterationStep is an abstract base class, code that calls getIterationStep frequently does dynamic casting afterwards. You cannot do that with a reference though, unless using some trickery.
Unfortunately, simply changing the return type of the method is not backward compatible. This is why this merge request is marked as WIP. Any ideas on how to proceed?