Fix: add missing heap_copy
[babeltrace.git] / include / babeltrace / prio_heap.h
index 1a523313f84134d07f75f3c547a294dd6128c0a7..347a2ced5fa302482878fd75160c0aa61c17c1b4 100644 (file)
@@ -21,6 +21,7 @@
  */
 
 #include <unistd.h>
+#include <babeltrace/babeltrace-internal.h>
 
 struct ptr_heap {
        size_t len, alloc_len;
@@ -47,7 +48,7 @@ void check_heap(const struct ptr_heap *heap)
 static inline void *heap_maximum(const struct ptr_heap *heap)
 {
        check_heap(heap);
-       return heap->len ? heap->ptrs[0] : NULL;
+       return likely(heap->len) ? heap->ptrs[0] : NULL;
 }
 
 /**
@@ -113,4 +114,13 @@ extern void *heap_cherrypick(struct ptr_heap *heap, void *p);
  */
 extern void *heap_replace_max(struct ptr_heap *heap, void *p);
 
+/**
+ * heap_copy - copy a heap
+ * @dst: the destination heap (must be allocated)
+ * @src: the source heap
+ *
+ * Returns -ENOMEM if out of memory.
+ */
+extern int heap_copy(struct ptr_heap *dst, struct ptr_heap *src);
+
 #endif /* _BABELTRACE_PRIO_HEAP_H */
This page took 0.02279 seconds and 4 git commands to generate.