22 #ifndef GLOBUS_PRIORITY_Q_H
23 #define GLOBUS_PRIORITY_Q_H
100 struct globus_l_priority_q_entry_s ** heap;
103 globus_memory_t memory;
143 void * new_priority);
int globus_priority_q_init(globus_priority_q_t *priority_q, globus_priority_q_cmp_func_t cmp_func)
Initialize a priority queue.
Definition: globus_priority_q.c:118
int globus_priority_q_size(globus_priority_q_t *priority_q)
Priority Queue Size.
Definition: globus_priority_q.c:252
int globus_priority_q_enqueue(globus_priority_q_t *priority_q, void *datum, void *priority)
Add a Datum to a Priority Queue.
Definition: globus_priority_q.c:293
void * globus_priority_q_dequeue(globus_priority_q_t *priority_q)
Remove a Datum From A Priority Queue.
Definition: globus_priority_q.c:359
int globus_bool_t
Boolean type.
Definition: globus_types.h:93
int globus_priority_q_destroy(globus_priority_q_t *priority_q)
Destroy a Priority Queue.
Definition: globus_priority_q.c:180
globus_bool_t globus_priority_q_empty(globus_priority_q_t *priority_q)
Priority Queue Empty Predicate.
Definition: globus_priority_q.c:225
void * globus_priority_q_first_priority(globus_priority_q_t *priority_q)
Get the Highest Priority in Priority Queue.
Definition: globus_priority_q.c:440
int(* globus_priority_q_cmp_func_t)(void *priority_1, void *priority_2)
Priority Comparison Predicate.
Definition: globus_priority_q.h:86
void * globus_priority_q_remove(globus_priority_q_t *priority_q, void *datum)
Remove an Arbitrary Datum from a Priority Queue.
Definition: globus_priority_q.c:471
void * globus_priority_q_first(globus_priority_q_t *priority_q)
Get the Highest-Priority Datum From a Priority Queue.
Definition: globus_priority_q.c:408
Priority Queue Structure.
Definition: globus_priority_q.h:98
void * globus_priority_q_modify(globus_priority_q_t *priority_q, void *datum, void *new_priority)
Modify the Priority of Datum.
Definition: globus_priority_q.c:561
struct globus_priority_q_s globus_priority_q_t
Priority Queue Structure.