00001 /* 00002 * Copyright (c) 2005-2012 by KoanLogic s.r.l. 00003 */ 00004 00005 #ifndef _U_PQUEUE_H_ 00006 #define _U_PQUEUE_H_ 00007 00008 #ifdef __cplusplus 00009 extern "C" { 00010 #endif /* __cplusplus */ 00011 00012 /* forward decl */ 00013 struct u_pq_s; 00014 00021 typedef struct u_pq_s u_pq_t; 00022 00023 int u_pq_create (size_t maxitems, u_pq_t **ppq); 00024 int u_pq_push (u_pq_t *pq, double key, const void *val); 00025 void *u_pq_delmax (u_pq_t *pq, double *pkey); 00026 void *u_pq_peekmax (u_pq_t *pq, double *pkey); 00027 int u_pq_empty (u_pq_t *pq); 00028 int u_pq_full (u_pq_t *pq); 00029 void u_pq_free (u_pq_t *pq); 00030 00035 #ifdef __cplusplus 00036 } 00037 #endif /* __cplusplus */ 00038 00039 #endif /* !_U_PQUEUE_H_ */