Blitz logo

Blitz Support :

From: Julian C. Cummings (cummings_at_[hidden])
Date: 2004-11-05 20:24:43


Hello Simon,

I am probably being a bit casual with the use of this term here.
Nevertheless, the point was raised by some blitz users that Arrays, and to a
lesser extent Vectors and TinyVectors, could not easily be used with STL
algorithms because these containers and their iterators did not behave in
the expected way. For example, postfix operator++ is supposed to return the
current state of an iterator and then increment it. But for the blitz Array
iterator, this was originally defined to return void. The justification was
that copying an Array iterator is relatively expensive and usually the user
employs a postfix operator++ when they meant to use a prefix operator++. We
have modified the blitz code to provide the standard behavior for
operator++. Also, we have provided a specialization of the STL
iterator_traits template for blitz Array iterator types, since this is often
used by STL implementations to optimize an algorithm. These are the sorts
of changes I was referring to in my earlier comments.

Regards, Julian C.

> -----Original Message-----
> From: Simon Perreault [mailto:nomis80_at_[hidden]]
> Sent: Friday, November 05, 2004 1:18 PM
> To: cummings_at_[hidden]; Support list for Blitz++
> Subject: Re: [Blitz-support] Version 0.8
>
>
> Julian C. Cummings wrote:
> > made Array iterators STL compliant
>
> What does that mean? Is there an official meaning to "STL
> compliant" or
> is it intuitive?
>
> --
> Simon Perreault <nomis80_at_[hidden]> -- http://nomis80.org
>