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