flxPrioQueueNode *root, *last;
guint n_nodes;
- gint (*compare) (gpointer a, gpointer b);
+ gint (*compare) (gconstpointer a, gconstpointer b);
};
struct _flxPrioQueueNode {
flxPrioQueueNode *left, *right, *parent, *next, *prev;
};
-flxPrioQueue* flx_prio_queue_new(gint (*compare) (gpointer a, gpointer b));
+flxPrioQueue* flx_prio_queue_new(gint (*compare) (gconstpointer a, gconstpointer b));
void flx_prio_queue_free(flxPrioQueue *q);
flxPrioQueueNode* flx_prio_queue_put(flxPrioQueue *q, gpointer data);
void flx_prio_queue_remove(flxPrioQueue *q, flxPrioQueueNode *n);
+void flx_prio_queue_shuffle(flxPrioQueue *q, flxPrioQueueNode *n);
+
#endif