Boost logo

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