source: trunk/Packages/Kernel/Kernel.Classes.pas

Last change on this file was 60, checked in by chronos, 2 months ago
  • Modified: Remove U prefix from unit names.
File size: 638 bytes
Line 
1unit Kernel.Classes;
2
3interface
4
5uses
6 Classes, SysUtils, Contnrs;
7
8type
9
10 { TObjectQueue }
11
12 TObjectQueue = class
13 List: TObjectList;
14 procedure Enqueue(Item: TObject);
15 function Dequeue: TObject;
16 constructor Create;
17 destructor Destroy; override;
18 end;
19
20
21implementation
22
23{ TObjectQueue }
24
25procedure TObjectQueue.Enqueue(Item: TObject);
26begin
27 List.Add(Item);
28end;
29
30function TObjectQueue.Dequeue: TObject;
31begin
32 Result := List[0];
33 List.Delete(0);
34end;
35
36constructor TObjectQueue.Create;
37begin
38 List := TObjectList.Create;
39end;
40
41destructor TObjectQueue.Destroy;
42begin
43 FreeAndNil(List);
44 inherited;
45end;
46
47end.
48
Note: See TracBrowser for help on using the repository browser.