On Tue, 19 Feb 2002, Peter Dimov wrote: pdimov> pdimov> A possible cause of this problem is that vector iterators are plain pointers pdimov> in MSVC 6, and iterator_traits doesn't handle pointers on
pdimov> partial specialization.)
That sounds right, in which case, the workaround is to avoid using
template parameter defaults of iterator_adaptor. This can be done by replacing the use of projection_iterator_generator and make_permutation_iterator() with a direct use of iterator_adaptor and permutation_iterator_policies and explicitly fill in all the
--- In Boost-Users@y..., Jeremy Siek
iterator_adaptor.
Cheers, Jeremy
-------------------------------------------------------------------- -- Jeremy Siek http://php.indiana.edu/~jsiek/ Ph.D. Student, Indiana Univ. B'ton email: jsiek@o... C++ Booster (http://www.boost.org) office phone: (812) 855-3608 -------------------------------------------------------------------- --
It's a pain with ANY iterator adaptors over plain pointer. MSVC can't deduce T from T*. And there is no workaround. You only choice is to explicetly say to adaptor what a retulting value type is. Gennadiy.