Queue

Eine Implementierung der Datenstruktur Queue sowie eine Queue für Funktionsaufrufe.


Queue

Q_Create

Erstellt eine neue Queue und gibt ein Handle darauf zurück
int Q_Create()

Q_Enqueue

Hängt einen Integer an die Queue hinten an
void Q_Enqueue(int queue, int value)

Q_IsEmpty

Gibt true zurück, falls sich kein Wert in der Queue befindet
int Q_IsEmpty(int queue)

Q_Advance

Entfernt den ersten Wert aus der Queue und gibt ihn zurück
int Q_Advance(int queue)

Q_For

Führt eine Funktion der Reihe nach für alle Werte in der Queue aus.
Die Funktion bekommt als Parameter einen zCList*, an der der Rest
der Queue hängt.
void Q_For(int queue, int funcID)

Q_ForF

Wie Q_For, aber mit func als Parameter anstatt einer ID.
void Q_ForF(int queue, func f)

CallbackQueue

CQ_Create

Erstellt eine neue CallbackQueue und gibt ein Handle darauf zurück
int CQ_Create()

CQ_EnqueueNoData

Hängt eine Funktion an die CallbackQueue hinten an.
void CQ_EnqueueNoData(int queue, func function)

CQ_EnqueueData

Hängt eine Funktion zusammen mit einem Wert an die CallbackQueue hinten an.
void CQ_EnqueueData(int queue, func function, int data)

CQ_Enqueue

Hängt eine Funktion zusammen mit einem optionalen Wert an die CallbackQueue hinten an.
Normalerweise sollte diese Funktion nicht genutzt werden, sondern CQ_EnqueueData und CQ_EnqueueNoData.
void CQ_Enqueu(int queue, int funcID, int data, int hasData)

CQ_IsEmpty

Gibt true zurück, falls sich keine Funktion in der CallbackQueue befindet
int CQ_IsEmpty(int queue)

CQ_Advance

Führt die forderste Funktion der CallbackQueueaus und entfernt sie aus der CallbackQueue.
void CQ_Advance(int queue)

CQ_Exhaust

Führt alle Funktionen, die in der CallbackQueue enthalten sind, der Reihe nach aus.
void CQ_Exhaust(int queue)