Boost logo

Boost :

Subject: Re: [boost] [iterator] UB when implicitly using default constructed counting_iterator<unsigned>
From: Olaf van der Spek (ml_at_[hidden])
Date: 2012-12-05 03:48:20


On Wed, Dec 5, 2012 at 8:53 AM, "Claas H. Köhler" <claas.koehler_at_[hidden]> wrote:
> To be very precise, it was actually the assumption that counting_iterator behaves similar to
> all other iterators in the standard library, which guarantee a defined behaviour when default
> constructed. (By guaranteed I mean as far as I have seen so far. Not sure what the standard
> says about them)

AFAIK you can't expect default constructed iterators to be usable (in general).
For example, this will assert in VC11:
        typedef std::map<int, int> C;
        C::iterator a;
        C::iterator b;
        a == b;

Olaf


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