6 typedef struct _GPQueueNode GPQueueNode;
11 * An opaque structure representing a priority queue.
15 typedef struct _GPQueue GPQueue;
20 * An opaque value representing one entry in a #GPQueue.
24 typedef GPQueueNode* GPQueueHandle;
26 GPQueue* g_pqueue_new (GCompareDataFunc compare_func,
27 gpointer *compare_userdata);
29 void g_pqueue_free (GPQueue* pqueue);
31 gboolean g_pqueue_is_empty (GPQueue *pqueue);
33 void g_pqueue_foreach (GPQueue *pqueue,
37 GPtrArray* g_pqueue_get_array (GPQueue *pqueue);
39 GPQueueHandle g_pqueue_push (GPQueue *pqueue,
42 gpointer g_pqueue_peek (GPQueue *pqueue);
44 gpointer g_pqueue_pop (GPQueue *pqueue);
46 void g_pqueue_remove (GPQueue* pqueue,
49 void g_pqueue_priority_changed (GPQueue* pqueue,
52 void g_pqueue_priority_decreased (GPQueue* pqueue,
55 void g_pqueue_clear (GPQueue* pqueue);
59 #endif /* __G_PQUEUE_H__ */