Fix constructors in iterators
This is a replacement for !580 (closed)
This issue is that some iterators, e.g. the RealIterator
in base_array
define a copy constructor but no copy assignment operator. This will not be supported in the future, I think. So, this MR adds corresponding assignment operators alongside the constructors. The difficulty is that these iterators actually accept copy from other iterators of different template types. This needs to be taken into account. Maybe there is a simpler solution to the templated and constrained constructors.
Edited by Simon Praetorius