[Insight-users] STL vector iterator

Miller, James V (Research) millerjv at crd.ge.com
Wed Aug 11 12:13:35 EDT 2004


For iterators within vectors, I think it is safe to do

if (iter1 < iter2)

I don't think the original STL standard required that vectors be 
contiguous memory (though most implementations use contiguous memory
for vectors). I think their is proposal to the standards committee
to official state vectors will be contiguous memory.

Jim


-----Original Message-----
From: FREDERICPCX [mailto:FREDERICPCX at terra.es]
Sent: Wednesday, August 11, 2004 10:57 AM
To: salah
Cc: insight-users at itk.org
Subject: Re: [Insight-users] STL vector iterator



Hello Zein,

if your vector is called v, maybe you can simply use something like
the following:

if (distance(v.begin(), iter1) < distance(v.begin(), iter2) { ...

Beware that calling some methods on the STL containers can invalidate
their related iterators. More in Chapter 23 of the 1997 C++ Public
Review Document: http://anubis.dkuug.dk/jtc1/sc22/open/n2356/

Hope this helps,

Frederic

----- Mensaje Original -----
De: "salah" <salah at gris.uni-tuebingen.de>
Fecha: Miercoles, Agosto 11, 2004 4:38 pm
Asunto: [Insight-users] STL vector iterator

> Hello,
> 
> I am using two iterators to point to two different positions on an STL
> vector. I want to decide which iterator is advancing more that the 
> other.is it meaningful to just compare the two iterator? i.e. 
> something like this
> 
>   typedef std::vector< ...... > VectorType;
>   VectorType::iterator  iter1, iter2;
>   ....
>   ....
>   if (iter1  < iter2) {
>      ....
>      ....
>   } 
> 
> or something else is needed. This comparison does not seem 
> to work by me.
> 
> Thanks,
> Zein
> _______________________________________________
> Insight-users mailing list
> Insight-users at itk.org
> http://www.itk.org/mailman/listinfo/insight-users
> 


_______________________________________________
Insight-users mailing list
Insight-users at itk.org
http://www.itk.org/mailman/listinfo/insight-users


More information about the Insight-users mailing list