aboutsummaryrefslogtreecommitdiff
path: root/include/bh/queue.h
blob: 2baf1b62701501440c9b312c629306855e7cc6db (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#ifndef BH_QUEUE_H
#define BH_QUEUE_H

#include "bh.h"

typedef struct bh_queue_s bh_queue_t;

bh_queue_t *bh_queue_new(void);

void bh_queue_free(bh_queue_t *queue);

void bh_queue_clear(bh_queue_t *queue);

int bh_queue_reserve(bh_queue_t *queue,
                     size_t size);

int bh_queue_insert(bh_queue_t *queue,
                    void *value);

void bh_queue_remove(bh_queue_t *queue);

void *bh_queue_front(bh_queue_t *queue);

int bh_queue_empty(bh_queue_t *queue);

size_t bh_queue_size(bh_queue_t *queue);

size_t bh_queue_capacity(bh_queue_t *queue);

void *bh_queue_iter_next(bh_queue_t *queue,
                         void *iter);

void *bh_queue_iter_value(void *iter);

#endif /* BH_QUEUE_H */