|
Boost Users : |
From: rogeeff (rogeeff_at_[hidden])
Date: 2002-02-19 13:17:54
--- In Boost-Users_at_y..., Jeremy Siek <jsiek_at_c...> wrote:
> 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_at_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.
Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net