Subject: [boost] [range] - Proposal to change the indexed range adaptor
From: Neil Groves (neil_at_[hidden])
Date: 2010-10-30 07:38:43


Fellow maintainers and developers,

Having gained experience using the Boost.Range library changes I submitted
for Boost 1.43, I have become dissatisfied with my indexed adaptor.
Currently the underling index_iterator has a return type identical to the
wrapped iterator, and the index is extracted via a method call on the
iterator. While this works for the case where one is writing algorithms to
explicitly utilise the underlying iterator, it is clearly a poor design
choice since it severly limits the interoperation with other algorithms. I
feel that I have made a mistake.

I propose that a breaking change is made to the index range adaptor so that
it returns a pair<original_reference_type, index_type>.

How do you feel about this change? Do you have alternative suggestions?

Regards,
Neil Groves