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.

Reply via email to