On Monday, 13 November 2017 at 15:43:35 UTC, balddenimhero wrote:
On Monday, 13 November 2017 at 14:38:35 UTC, balddenimhero
wrote:
I need a priority queue of integers whose elements are not
ordered by the default `opCmp` but some delegate.
The following gist illustrates the problem I'm having:
https://run.dlang.io/gist/92876b2c4d8c77cdc68f1ca61e7e8e44?compiler=dmd
The `Foo` class is supposed to wrap a binary heap (to be used
as priority queue) and order its contents according to
`o.isLess`. However I do not manage to initialise the
according member variable.
Obviously, with the `h` member having type `BinaryHeap(int[],
"a<b")` and the constructor trying to assign a
`BinaryHeap!(int[], f)` the types do not quite match (line 18).
Maybe I'm missing something obvious or approaching this in the
wrong way. Do you have any suggestions on how to achieve the
desired result?
In case it helps, here is the functionality I'm trying to port
to D https://pastebin.com/CWAiEy40. I'm still struggling with
properly defining the member in D though.
In the course of writing a minimal example I removed more than
necessary in the previous pastebin (the passed IntOrder has not
even been used). Thus here is the corrected one:
https://pastebin.com/SKae08GT. I'm trying to port this to D.