#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 */