TpHeap

TpHeap — a heap queue of pointers

Synopsis


#include <telepathy-glib/heap.h>

                    TpHeap;
TpHeap*             tp_heap_new                         (GCompareFunc comparator,
                                                         GDestroyNotify destructor);
void                tp_heap_destroy                     (TpHeap *heap);
void                tp_heap_clear                       (TpHeap *heap);
void                tp_heap_add                         (TpHeap *heap,
                                                         gpointer element);
void                tp_heap_remove                      (TpHeap *heap,
                                                         gpointer element);
gpointer            tp_heap_peek_first                  (TpHeap *heap);
gpointer            tp_heap_extract_first               (TpHeap *heap);
guint               tp_heap_size                        (TpHeap *heap);

Description

A heap queue of pointers.

Details

TpHeap

typedef struct _TpHeap TpHeap;

Structure representing the heap queue. All fields are private.


tp_heap_new ()

TpHeap*             tp_heap_new                         (GCompareFunc comparator,
                                                         GDestroyNotify destructor);

comparator : Comparator by which to order the pointers in the heap
destructor : Function to call on the pointers when the heap is destroyed or cleared, or NULL if this is not needed
Returns : A new, empty heap queue.

tp_heap_destroy ()

void                tp_heap_destroy                     (TpHeap *heap);

Destroy a TpHeap. The destructor, if any, is called on all items.

heap : The heap queue

tp_heap_clear ()

void                tp_heap_clear                       (TpHeap *heap);

Remove all items from a TpHeap. The destructor, if any, is called on all items.

heap : The heap queue

tp_heap_add ()

void                tp_heap_add                         (TpHeap *heap,
                                                         gpointer element);

Add element to the heap queue, maintaining correct order.

heap : The heap queue
element : An element

tp_heap_remove ()

void                tp_heap_remove                      (TpHeap *heap,
                                                         gpointer element);

Remove element from heap, if it's present. The destructor, if any, is not called.

heap : The heap queue
element : An element in the heap

tp_heap_peek_first ()

gpointer            tp_heap_peek_first                  (TpHeap *heap);

heap : The heap queue
Returns : The first item in the queue, or NULL if the queue is empty

tp_heap_extract_first ()

gpointer            tp_heap_extract_first               (TpHeap *heap);

Remove and return the first element in the queue. The destructor, if any, is not called.

heap : The heap queue
Returns : the removed element

tp_heap_size ()

guint               tp_heap_size                        (TpHeap *heap);

heap : The heap queue
Returns : The number of items in heap