3 /* Copyright (c) 2004 Arnaud Legrand. All rights reserved. */
5 /* This program is free software; you can redistribute it and/or modify it
6 * under the terms of the license (GNU LGPL) which comes with this package. */
13 /** \brief Heap data type
16 typedef struct xbt_heap *xbt_heap_t;
18 xbt_heap_t xbt_heap_new(int num, void_f_pvoid_t free_func);
19 void xbt_heap_free(xbt_heap_t H);
20 int xbt_heap_size(xbt_heap_t H);
22 void xbt_heap_push(xbt_heap_t H, void *content, double key);
23 void *xbt_heap_pop(xbt_heap_t H);
25 double xbt_heap_maxkey(xbt_heap_t H);
26 void *xbt_heap_maxcontent(xbt_heap_t H);
28 #endif /* _XBT_HEAP_H */