Class TMPSortedStringList (unit MPList) |
TStringList
range checking must be off here
Constructors |
Functions |
Properties |
Events |
Variables |
Constructors |
TMPCustomLongList = class(TObject) private FList: pointer; FCount: longint; FCapacity: longint; protected procedure ReAllocList(NewCapacity: longint); virtual; procedure CheckIndex(Index: longint); virtual; function ExpandSize: longint; virtual; function GetItem(Index: longint): pointer; virtual; procedure SetItem(Index: longint; Value: pointer); virtual; procedure SetCapacity(NewCapacity: longint); virtual; procedure SetCount(NewCount: longint); virtual; procedure DoPack(PackProc: TMPPackProc); property Items[Index: longint]: pointer read GetItem write SetItem; public destructor Destroy; override; function Add(Item: pointer): longint; virtual; procedure Clear; virtual; function Delete(Index: longint): pointer; virtual; procedure Exchange(i1, i2: longint); virtual; function Expand: TMPCustomLongList; function First: pointer; function IndexOf(Item: pointer): longint; virtual; procedure Insert(Index: longint; Item: pointer); virtual; function Last: pointer; procedure Move(CurIndex, NewIndex: longint); virtual; procedure Pack; function Remove(Item: pointer): longint; virtual; property Capacity: longint read FCapacity write SetCapacity; property Count: longint read FCount write SetCount; end; TMPLongList = class(TMPCustomLongList) public property Items; default; end; { this class DOES NOT dispose of it's objects when freed } TMPObjectLongList = class(TMPCustomLongList) protected function GetObject(Index: longint): TObject; procedure SetObject(Index: longint; Value: TObject); public function Add(Item: TObject): longint; virtual; function Delete(Index: longint): TObject; virtual; function First: TObject; function Last: TObject; function Remove(Item: TObject): longint; virtual; property Objects[Index: longint]: TObject read GetObject write SetObject; default; end; { This class disposes of it's objects when freed. To remove an object without freeing it, set the object to nil and then delete it. } TMPOwnedObjectLongList = class(TMPObjectLongList) private procedure FreeObject(Index: longint); protected procedure SetCapacity(NewCapacity: longint); override; procedure SetCount(NewCount: longint); override; public procedure Clear; override; function Delete(Index: longint): TObject; override; end;
Functions |
Properties |
Events |
Variables |