Den 04-10-2017 kl. 22:21 skrev Ion GaztaƱaga via Boost:
On 04/10/2017 17:23, Thorsten Ottosen via Boost wrote:
Given the lack of a contiguous iterator tag, this is not just a switch from pointer to class iterator. The internal code now needs to be careful when it's passed its own iterator type and detect that it actually has a contiguous range.
Right. Internally used algorithms query "are_elements_contiguous<T>" traits which is specialized to true for vector_iterator.
Makes sense. And it works great when applied within one library, say Boost.Container. But then what about all the other container libraries in boost: BiMap CircularBuffer Gil MultiArray MultiIndex Unordered etc. We would have to have a Boost-wide trait for all interactions to be optimal. And then we can't do anything about interactions with the standard library. Anyway, I don't feel strongly about it either way. kind regards Thorsten