Boost logo

Boost :

From: Hartmut Kaiser (HartmutKaiser_at_[hidden])
Date: 2004-05-21 00:57:35


 
Reece Dunn wrote:

> I reported that VC7 uses the correct implementation of
> reverse_iterator, and that this can be detected via
> BOOST_NO_STD_ITERATOR. Although this compiles, you cannot use
> reverse iterators.
>
> The problem is that the iterator is of the form (const) T *,
> and this fails because there is not a correct implementation
> of iterator_traits (due to a lack of partial template
> specialization) that *is* detected by BOOST_NO_STD_ITERATOR_TRAITS.
>
> The solution would therefore be to - in this case - provide
> an iterator wrapper around a standard pointer so it has the
> correct Iter::value_type, etc definitions. Is there an
> iterator_adaptor that provides this within boost? If not,
> should there be one? I am looking into this and will commit
> the solution to my iterator_adaptor-style implementation
> (sandbox/boost/fixed_string/detail/basic_string_impl.hpp).
>
> NOTE: If you want to add any of my modifications to the Wave
> flex_string implementation, feel free, but be warned that I
> haven't run full tests on it yet and thus there might be bugs
> in it (especially the pod_xxx --> traits_type::xxx, since
> these functions have different parameters).

Thanks again for pointing that out. I'll have a look at it next week, when
I'm back home. Is this problem specific for VC7 or does it occur on the
VC7.1 platform also? If it's specific, then I would some need from somebody
to fix this, because I don't have it handy to reproduce the problem. Could
you provide a fix for Wave then?

Regards Hartmut


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk