| 52 | } |
| 53 | |
| 54 | func (h *bitmapContainerHeap) popIncrementing() (key uint16, container container) { |
| 55 | k := h.Peek() |
| 56 | key = k.key |
| 57 | container = k.bitmap.highlowcontainer.containers[k.idx] |
| 58 | |
| 59 | newIdx := k.idx + 1 |
| 60 | if newIdx < k.bitmap.highlowcontainer.size() { |
| 61 | k = bitmapContainerKey{ |
| 62 | k.bitmap.highlowcontainer.keys[newIdx], |
| 63 | newIdx, |
| 64 | k.bitmap, |
| 65 | } |
| 66 | (*h)[0] = k |
| 67 | heap.Fix(h, 0) |
| 68 | } else { |
| 69 | heap.Pop(h) |
| 70 | } |
| 71 | |
| 72 | return |
| 73 | } |
| 74 | |
| 75 | func (h *bitmapContainerHeap) Next(containers []container) multipleContainers { |
| 76 | if h.Len() == 0 { |