Re: Binary heap: obtain a _reference_ to the front of the heap

2016-09-15 Thread Johan Engelen via Digitalmars-d-learn
On Tuesday, 13 September 2016 at 08:19:04 UTC, Johan Engelen 
wrote:
In the binary heap documentation, I read that 
`BinaryHeap.front()` "Returns a copy of the front of the heap". 
[1]
Is there no function to access the front of the heap without a 
copy?  (micro-optimization)


Answering myself here: the binary heap element type should be 
cheap to copy, because it is going to be copied around a lot (for 
the common implementation on top of an array).


Re: Binary heap: obtain a _reference_ to the front of the heap

2016-09-14 Thread Johan Engelen via Digitalmars-d-learn
On Tuesday, 13 September 2016 at 08:55:15 UTC, Nicholas Wilson 
wrote:
On Tuesday, 13 September 2016 at 08:19:04 UTC, Johan Engelen 
wrote:
In the binary heap documentation, I read that 
`BinaryHeap.front()` "Returns a copy of the front of the 
heap". [1]
Is there no function to access the front of the heap without a 
copy?  (micro-optimization)


Thanks,
  Johan

[1] 
https://dlang.org/phobos/std_container_binaryheap.html#.BinaryHeap.front


What does
foreach(ref e; bh)
{
 //...
}
do?


It copies the front of the heap on every iteration.



Re: Binary heap: obtain a _reference_ to the front of the heap

2016-09-13 Thread Nicholas Wilson via Digitalmars-d-learn
On Tuesday, 13 September 2016 at 08:19:04 UTC, Johan Engelen 
wrote:
In the binary heap documentation, I read that 
`BinaryHeap.front()` "Returns a copy of the front of the heap". 
[1]
Is there no function to access the front of the heap without a 
copy?  (micro-optimization)


Thanks,
  Johan

[1] 
https://dlang.org/phobos/std_container_binaryheap.html#.BinaryHeap.front


What does
foreach(ref e; bh)
{
 //...
}
do?


Binary heap: obtain a _reference_ to the front of the heap

2016-09-13 Thread Johan Engelen via Digitalmars-d-learn
In the binary heap documentation, I read that 
`BinaryHeap.front()` "Returns a copy of the front of the heap". 
[1]
Is there no function to access the front of the heap without a 
copy?  (micro-optimization)


Thanks,
  Johan

[1] 
https://dlang.org/phobos/std_container_binaryheap.html#.BinaryHeap.front