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, kalb at, bjorn.karlsson at, gregod at, wekempf at