
On 05/12/12 07:42, "Claas H. Köhler" wrote:
Thanks for the info. That's very interesting. So it seems to be implementation dependent. Using gcc-4.7 the following code outputs true/ 1 for all 5 comparisons.
std::vector<double>::iterator itv1, itv2; std::string::iterator itstr1, itstr2; std::set<double>::iterator its1, its2; std::map<double, double>::iterator itm1, itm2; std::list<double>::iterator itl1, itl2;
std::cout << (its1 == its2) <<std::endl << (itv1 == itv2) <<std::endl << (itstr1 == itstr2) <<std::endl << (itm1 == itm2) <<std::endl << (itl1 == itl2) <<std::endl;
Did you look at std::array's iterator? That should be just a raw pointer (I believe the standard guarantees that?), so will behave in a similar way to counting_iterator. John Bytheway