Queue
- Abhängigkeiten
- PermMem
Eine Implementierung der Datenstruktur Queue sowie eine Queue für Funktionsaufrufe.
- Inhaltsverzeichnis
- 1Queue
- 2CallbackQueue
Queue
Q_Create
Erstellt eine neue Queue und gibt ein Handle darauf zurückint Q_Create()
- return : Handle einer Queue
Q_Enqueue
Hängt einen Integer an die Queue hinten anvoid Q_Enqueue(int queue, int value)
- queue : Handle einer Queue
- value : Der Wert, der an die Queue angehängt wird
Q_IsEmpty
Gibt true zurück, falls sich kein Wert in der Queue befindetint Q_IsEmpty(int queue)
- queue : Handle einer Queue
- return : Ob die Queue leer ist
Q_Advance
Entfernt den ersten (ältesten) Wert aus der Queue und gibt ihn zurückint Q_Advance(int queue)
- queue : Handle einer Queue
- return : Der erste Wert der Queue
Q_Peek
Gibt den ersten (ältesten) Wert der Queue zurück, ohne ihn zu entfernen.int Q_Peek(int queue)
- queue : Handle einer Queue
- return : Der erste Wert der 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)
- queue : Handle einer Queue
- funcID : Diese Funktion wird für alle Werte in der Queue ausgeführt (Signatur: void (zCList*))
Q_ForF
Wie Q_For, aber mit func als Parameter anstatt einer ID.void Q_ForF(int queue, func f)
- queue : Handle einer Queue
- f : Diese Funktion wird für alle Werte in der Queue ausgeführt (Signatur: void (zCList*)))
CallbackQueue
CQ_Create
Erstellt eine neue CallbackQueue und gibt ein Handle darauf zurückint CQ_Create()
- return : Handle einer CallbackQueue
CQ_EnqueueNoData
Hängt eine Funktion an die CallbackQueue hinten an.void CQ_EnqueueNoData(int queue, func function)
- queue : Handle einer CallbackQueue
- function : Eine Funktion ohne Returnwert, die keinen Parameter erwartet
CQ_EnqueueData
Hängt eine Funktion zusammen mit einem Wert an die CallbackQueue hinten an.void CQ_EnqueueData(int queue, func function, int data)
- queue : Handle einer CallbackQueue
- function : Eine Funktion ohne Returnwert, die einen Integer als Parameter erwartet
- data : Beim Aufruf von 'function' wird dieser Wert als Parameter übergeben
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)
- queue : Handle einer CallbackQueue
- funcID : Die FunktionsID einer Funktion, die in die CallbackQueue gehängt wird
- data : Falls hasData nicht 0 ist, wird dieser Wert an die zugehörige Funktion übergeben
- hasData : Muss 0 sein, wenn die Funktion keinen Integer als Parameter erwartet, ansonsten ungleich 0.
CQ_IsEmpty
Gibt true zurück, falls sich keine Funktion in der CallbackQueue befindetint CQ_IsEmpty(int queue)
- queue : Handle einer CallbackQueue
- return : Ob die CallbackQueue leer ist
CQ_Advance
Führt die forderste Funktion der CallbackQueueaus und entfernt sie aus der CallbackQueue.void CQ_Advance(int queue)
- queue : Handle einer CallbackQueue
CQ_Exhaust
Führt alle Funktionen, die in der CallbackQueue enthalten sind, der Reihe nach aus.void CQ_Exhaust(int queue)
- queue : Handle einer CallbackQueue