
I'll have to respond to myself here... Hartmut Kaiser wrote:
The boost::transform_iterator also returns by reference, if you set it up right. No need for code duplication.
Even better, I'll look into it. The transform_iterator in Wave is perhaps an overleft from the old IA library, I haven't looked into this for 2 years or so...
After a second look at the transform_iterator in Wave I (re-)discovered, that it already uses the boost::transform_iterator (I had completely forgotten about this ;-). The own implementation kicks in only when used in conjunction with an older Boost version (containing the old IA library). There are several places in Wave, which allow its compilation with older Boost versions (back to V1.30.2), but I assume, that this backwards compatibility can be removed if only Wave will be accepted to be part of Boost in the future. Regards Hartmut