[bugfix] Fix two bugs in TransformedRangeView and TransformedRangeIterator
- Properly forward r-value references of functions to
enable move-construction for function stored in
TransformedRangeView
where possible. - Fix and test
operator->
inTransformedRangeIterator
. For transformations returning l-value references, the operator did a copy, such thatit->foo()
and(*it).foo()
act on different objects. The fix is to correctly forward the l-value reference to the proxy-object returned byoperator->
.