home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Global Amiga Experience
/
globalamigaexperience.iso
/
compressed
/
development
/
clusterdemo.dms
/
clusterdemo.adf
/
Modules.lha
/
modules
/
txt
/
Buffers.def
< prev
next >
Wrap
Text File
|
1994-05-25
|
4KB
|
132 lines
|##########|
|#MAGIC #|CLABLLBE
|#PROJECT #|"ImportHelp"
|#PATHS #|"StdProject"
|#FLAGS #|-x---x--x----xx-----------------
|#USERSW #|--------------------------------
|#USERMASK#|--------------------------------
|#SWITCHES#|x-xx-x----------
|##########|
DEFINITION MODULE Buffers;
EXCEPTION
|
| BufferEmpty : Durch Get, falls der Puffer bereits leer ist
|
BufferEmpty : "Buffer empty";
|
| NotInBuffer : Durch Remove, falls Objekt nicht im Puffer
|
NotInBuffer : "Object not in buffer";
DEFINITION MODULE Queues(type : ANYPTR);
|
| Queues
|
| FIFO-Puffer:
|
| Elemente können beliebig in den Puffer eingefügt werden und in der
| selben Reihenfolge wieder ausgelesen werden, typische Anwendung ist
| eine Warteschlange z.B. Tastaturpuffer.
|
| Methoden:
|
| Init : Initialisieren, muß vor der ersten Verwendung geschehen.
|
| Remove_All : Vernichtet den Puffer, die Elemente die sich zu dieser
| Zeit noch darin befinden, werden nicht angetastet.
| Delete_All : Vernichtet den Puffer, die Elemente die sich zu dieser
| Zeit noch darin befinden, werden durch Dispose
| freigegeben.
| Destruct_All : Vernichtet den Puffer, für alle Elemente die sich zu
| dieser Zeit noch darin befinden, wird die Destructor
| Prozedur aufgerufen.
| Remove : Entfernt ein Element aus dem Puffer.
|
| Put : Ein Element in den Puffer einfügen.
| Get : Ein Element aus dem Puffer nehmen.
|
| IsEmpty : Liefert TRUE, wenn der Puffer leer ist.
|
TYPE
QueueNodePtr = HIDDEN;
Queue = RECORD
first : QueueNodePtr;
END;
Destructor = PROCEDURE(p : type);
PROCEDURE Init(VAR q : Queue);
PROCEDURE Remove_All(VAR q : Queue);
PROCEDURE Remove(VAR q : Queue;data : type);
PROCEDURE Destruct_All(VAR q : Queue;des : Destructor);
PROCEDURE Delete_All(VAR q : Queue);
PROCEDURE Put(VAR q : Queue;data : type);
PROCEDURE Get(VAR q : Queue):type;
PROCEDURE IsEmpty(VAR q : Queue):BOOLEAN;
END Queues;
DEFINITION MODULE Stacks(type : ANYPTR);
|
| Stacks
|
| LIFO-Puffer:
|
| Elemente können beliebig in den Puffer eingefügt werden und in der
| umgekehrten Reihenfolge wieder ausgelesen werden, typische Anwendung ist
| ein Sicherungsspeicher, z.B. Undo - Puffer
|
| Methoden:
|
| Init : Initialisieren, muß vor der ersten Verwendung geschehen.
|
| Remove_All : Vernichtet den Puffer, die Elemente die sich zu dieser
| Zeit noch darin befinden, werden nicht angetastet.
| Delete_All : Vernichtet den Puffer, die Elemente die sich zu dieser
| Zeit noch darin befinden, werden durch Dispose
| freigegeben.
| Destruct_All : Vernichtet den Puffer, für alle Elemente die sich zu
| dieser Zeit noch darin befinden, wird die Destructor
| Prozedur aufgerufen.
| Remove : Entfernt ein Element aus dem Puffer.
|
| Put : Ein Element in den Puffer einfügen.
| Get : Ein Element aus dem Puffer nehmen.
|
| IsEmpty : Liefert TRUE, wenn der Puffer leer ist.
|
TYPE
StackNodePtr = HIDDEN;
Stack = RECORD
first : StackNodePtr;
END;
Destructor = PROCEDURE(p : type);
PROCEDURE Init(VAR q : Stack);
PROCEDURE Remove_All(VAR q : Stack);
PROCEDURE Remove(VAR q : Stack;data : type);
PROCEDURE Destruct_All(VAR q : Stack;des : Destructor);
PROCEDURE Delete_All(VAR q : Stack);
PROCEDURE Put(VAR q : Stack;data : type);
PROCEDURE Get(VAR q : Stack):type;
PROCEDURE IsEmpty(VAR q : Stack):BOOLEAN;
END Stacks;
END Buffers.