
On Thu, Sep 4, 2008 at 1:48 AM, David Abrahams <dave@boostpro.com> wrote:
on Wed Sep 03 2008, "Giovanni Piero Deretta" <gpderetta-AT-gmail.com> wrote:
Given an appropriate buffering size (a memory page?) you could hide the buffering step inside an interator adaptor, which, instead of producing every N'th value on the fly, would batch the production of enough elements to fill the buffer.
David: BTW, I think that you can use exactly the same abstraction used for segmented iterators to expose the buffering capability of a buffered iterator adaptor.
Yes, an iterator with a backing buffer would work great as a segmented iterator.
So, do you think that buffering could be a good approach to help reduce the abstraction overhead of stacked iterator adapters? I think you have to give up a bit of lazyness (from the pull side it is harder to determine exactly how much of the input sequence you want to consume). -- gpd