On Saturday, 6 December 2014 at 14:50:02 UTC, Nordlöw wrote:
On Saturday, 6 December 2014 at 14:14:18 UTC, Tobias Pankrath wrote:
Because a RandomAccessRange has no means to grow in general. Compare your proposed wrapper to http://dlang.org/phobos/std_container.html#.BinaryHeap

So what should the basic operations in a SortedRange wrapper template be? And how should the wrapped type be restricted?

Something like this https://github.com/Panke/phobos/blob/std_container_sorted/std/container/sorted.d

It should additionally support c.remove(r), c.removeKey(k), opIn and insertFront/removeFront if the underlying store supports them.

But that's pretty much it, I'd say.

Sadly, the unittest using an Array!int as store does not compile because of of linker errors. I'm using

rdmd -unittest -main std/container/sorted.d

but that does not work with std/container/array.d as well. So, my setup seems to be broken.

Reply via email to