00001 #include "conv-lists.h" 00002 #include "cklists.h" 00003 00013 typedef CkQ<void*> _Fifo; 00014 00015 CdsFifo CdsFifo_Create(void) { return (CdsFifo) new _Fifo(); } 00016 CdsFifo CdsFifo_Create_len(int len) { return (CdsFifo) new _Fifo(len); } 00017 void CdsFifo_Enqueue(CdsFifo q, void *elt) { ((_Fifo*)q)->enq(elt); } 00018 void * CdsFifo_Dequeue(CdsFifo q) { return ((_Fifo*)q)->deq(); } 00019 void CdsFifo_Push(CdsFifo q, void *elt) { ((_Fifo*)q)->push(elt); } 00020 void * CdsFifo_Pop(CdsFifo q) { return ((_Fifo*)q)->deq(); } 00021 void CdsFifo_Destroy(CdsFifo q) { delete ((_Fifo*)q); } 00022 void ** CdsFifo_Enumerate(CdsFifo q) { return ((_Fifo*)q)->getArray(); } 00023 int CdsFifo_Empty(CdsFifo q) { return (int)((_Fifo*)q)->isEmpty(); } 00024 void * CdsFifo_Peek(CdsFifo q) { 00025 return ((_Fifo*)q)->length() ? (*((_Fifo*)q))[0] : 0; 00026 } 00027 int CdsFifo_Length(CdsFifo q) { return ((_Fifo*)q)->length(); } 00028 00029