/*
* queue.h
- *
+ *
*/
#ifndef LIBSOLV_QUEUE_H
#include "pooltypes.h"
-typedef struct _Queue {
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+typedef struct s_Queue {
Id *elements; /* pointer to elements */
int count; /* current number of elements in queue */
Id *alloc; /* this is whats actually allocated, elements > alloc if shifted */
extern void queue_init(Queue *q);
extern void queue_init_buffer(Queue *q, Id *buf, int size);
-extern void queue_init_clone(Queue *t, Queue *s);
+extern void queue_init_clone(Queue *target, const Queue *source);
extern void queue_free(Queue *q);
extern void queue_insert(Queue *q, int pos, Id id);
extern void queue_insert2(Queue *q, int pos, Id id1, Id id2);
-extern void queue_insertn(Queue *q, int pos, int n);
+extern void queue_insertn(Queue *q, int pos, int n, const Id *elements);
extern void queue_delete(Queue *q, int pos);
extern void queue_delete2(Queue *q, int pos);
extern void queue_deleten(Queue *q, int pos, int n);
extern void queue_prealloc(Queue *q, int n);
+#ifdef __cplusplus
+}
+#endif
+
#endif /* LIBSOLV_QUEUE_H */