#include <pthread.h> // for pthread_cond_t, pthread_mutex_t
#include <stdbool.h> // for bool
-#include "bits/callback.h" // for Transformer
#include "list.h" // for List
typedef struct {
list is cleared before calling this function.
*/
-void queue_clr(Queue *queue, Iterator iter, void *arg, Transformer trans);
+void queue_clr(Queue *queue, void *iter, void *arg, void *trans);
/*
Clears the queue.
Notifies waiting consumer threads.
*/
-void *queue_deq(Queue *queue, Transformer trans);
+bool queue_ppd(Queue *queue, void *dat);
+/*
+ [Thread Safe]
+ Enqueues an element at the front of the queue.
+ Returns true if the enqueueing was successful (this is always the case if queue_fin
+ has not been called)
+
+ Notifies waiting consumer threads.
+*/
+
+void *queue_deq(Queue *queue, void *trans);
/*
[Thread Safe]
Dequeue an element.