diff options
author | Alexander Gavrilov <angavrilov@gmail.com> | 2018-11-04 13:27:10 +0300 |
---|---|---|
committer | Alexander Gavrilov <angavrilov@gmail.com> | 2018-11-04 13:29:17 +0300 |
commit | d3c815bd0831f46c18bb4bddc9f290b5f47e2c45 (patch) | |
tree | 6dc0fddd52da62faeaec8c9422997974e3437cf8 /source/blender/blenlib/intern/BLI_heap.c | |
parent | 0d69a5aa3491501c4a556aec3978128c041d328e (diff) |
BLI_heap: add an API function to directly read the top node value.
It is very commonly needed in loop conditions to check if
the items in the heap are good enough to continue.
Diffstat (limited to 'source/blender/blenlib/intern/BLI_heap.c')
-rw-r--r-- | source/blender/blenlib/intern/BLI_heap.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/source/blender/blenlib/intern/BLI_heap.c b/source/blender/blenlib/intern/BLI_heap.c index 5658c1fd103..17a15f93266 100644 --- a/source/blender/blenlib/intern/BLI_heap.c +++ b/source/blender/blenlib/intern/BLI_heap.c @@ -318,6 +318,17 @@ HeapNode *BLI_heap_top(const Heap *heap) } /** + * Return the value of top node of the heap. + * This is the node with the lowest value. + */ +float BLI_heap_top_value(const Heap *heap) +{ + BLI_assert(heap->size != 0); + + return heap->tree[0]->value; +} + +/** * Pop the top node off the heap and return it's pointer. */ void *BLI_heap_pop_min(Heap *heap) |