Boost logo

Boost Users :

From: Nat Goodspeed (ngoodspeed_at_[hidden])
Date: 2005-07-26 17:16:07


> -----Original Message-----
> From: boost-users-bounces_at_[hidden] [mailto:boost-users-
> bounces_at_[hidden]] On Behalf Of David Abrahams
> Sent: Tuesday, July 26, 2005 5:41 PM
> To: boost-users_at_[hidden]
> Subject: Re: [Boost-users] [Iterators] Change in transform_iterator
> from1.31 to1.32?
>
> If Nat were using the actual type of the bind expression as the first
> argument to transform_iterator, this wouldn't be a problem (except --
> not sure if you care -- that it would be returned by value from the
> iterator). Presumably, the bind object has an appropriate
> non-reference nested result_type.

[Nat] I must be missing something here -- but I'm eager for
enlightenment. boost::bind() is a runtime expression. I need to write a
typedef for const_iterator before we get anywhere near that point. How
can I use a type defined on the bind object for the typedef I need?
 
> Nat, what you are doing looks _really_ inefficient. The result of
> make_transform_iterator is some iterator type that's very different
> from, but convertible to, your const_iterator type. Going through
> that extra layer using boost::function means you are doing a lot of
> extra copying -- and potentially, dynamic memory allocation --
> whenever you ask for an iterator.

[Nat] I would be very happy to do it better, once I discover how.


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net