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 this compiler (no pdimov> partial specialization.) That sounds right, in which case, the workaround is to avoid using the 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 parameters of iterator_adaptor. Cheers, Jeremy ---------------------------------------------------------------------- Jeremy Siek http://php.indiana.edu/~jsiek/ Ph.D. Student, Indiana Univ. B'ton email: jsiek@osl.iu.edu C++ Booster (http://www.boost.org) office phone: (812) 855-3608 ----------------------------------------------------------------------