SphinxBase 5prealpha
priority_queue.h
1#ifndef __PRIORITY_QUEUE_H__
2#define __PRIORITY_QUEUE_H__
3
4#include <stdlib.h>
5#include <sphinxbase/sphinxbase_export.h>
6
7#ifdef __cplusplus
8extern "C" {
9#endif
10#if 0
11/* Fool Emacs. */
12}
13#endif
14
25
26SPHINXBASE_EXPORT
27priority_queue_t* priority_queue_create(size_t len, int (*compare)(const void *a, const void *b));
28
29SPHINXBASE_EXPORT
30void* priority_queue_poll(priority_queue_t *queue);
31
32SPHINXBASE_EXPORT
33void priority_queue_add(priority_queue_t *queue, void *element);
34
35SPHINXBASE_EXPORT
36size_t priority_queue_size(priority_queue_t *queue);
37
38SPHINXBASE_EXPORT
39void priority_queue_free(priority_queue_t *queue, void (*free_ptr)(void *a));
40
41#ifdef __cplusplus
42}
43#endif
44
45#endif /* __PRIORITY_QUEUE_H__ */