On 06/09/2010 06:20 AM, Simen kjaeraas wrote:
Andrei Alexandrescu <[email protected]> wrote:
It's a good point. I agree it would make sense to define a binary heap
container in addition to a binary heap range. I'm only weary that they
don't have very clean means to reuse code, so we'll end up with some
unpleasant implementation internals. I guess I'll just have to do that.

I fear that this will also lead to confusion. "What? Two binheaps? What
do they need that for?" Basically, the binheap range is a heapifying
range, yes?

So to me, it seems to make sense to have std.range.heapify, and
std.container.binheap.

The problem is that operating on a range as a heap is not just one operation (i.e. heapify), it's a handful of them. STL took the approach of providing make_heap, push_heap, pop_heap, sort_heap, and is_heap. Their use is quite clunky. I think that's too unstructured an approach and would like to improve on it.

Andrei

Reply via email to