Boost logo

Boost :

Subject: Re: [boost] [Iterator][MultiIndex]iterator-specificpartition_point-relatedfunctions
From: Arno Schödl (aschoedl_at_[hidden])
Date: 2008-12-26 13:06:05

> > The counting_iterator example above shows that people may want to, for special cases
> > and not inside a library, but as an optimization for their special iterator
> > implementation. It feels funny to me to use different techniques for different
> > functions. And you pay the overhead of boost::bind for any call to lower_bound,
> > customized or not. I am willing to do it, though, if that's what you prefer.

> You don't have to use boost::bind. Just use the standard binders.

Are they preferable over boost/std::bind if the extra functionality of more general boost/std::bind is not needed?

I think one of my functors worked with boost::bind, but didn't with std::bind1st/2nd. Maybe some typedef was missing? I have to look.

> Furthermore, if you publish the type of the function object used, people
> can still customize all of those individual variants if they're crazy
> enough to want to do that.

I don't understand what you mean.

> > where partition_point is a fundamental operation similar to swap,
> Yes
> > and lower_bound/... implementations must invoke ADL for
> > partition_point, just like C++0x requires it for swap.
> Yes
> > As a start, we are now adding such a lower_bound/... into boost. Is
> > that your thinking?
> Sorta.

O.k., I am happy we finally have agreement:-) I will send out the new version. Do you want to include it into Boost.Iterator (my preference), or as a separate library?


Dr. Arno Schoedl · aschoedl_at_[hidden] 
Technical Director 
think-cell Software GmbH · Invalidenstr. 34 · 10115 Berlin, Germany · phone +49-30-666473-10 · toll-free (US) +1-800-891-8091
Directors: Dr. Markus Hannebauer, Dr. Arno Schoedl · Amtsgericht Charlottenburg, HRB 85229

Boost list run by bdawes at, gregod at, cpdaniel at, john at