Changeset 78 for Generics/TemplateGenerics/Generic/ListImplementation.tpl
- Timestamp:
- Oct 30, 2010, 6:39:12 PM (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
Generics/TemplateGenerics/Generic/ListImplementation.tpl
r77 r78 17 17 begin 18 18 Result := FItems[Index]; 19 end;20 21 function TGList.GetCount: TListIndex;22 begin23 Result := FCount;24 19 end; 25 20 … … 89 84 end; 90 85 86 procedure TGList.Contract; 87 begin 88 if (Capacity > 256) and (FCount < Capacity shr 2) then 89 begin 90 Capacity := Capacity shr 1; 91 end; 92 end; 93 91 94 function TGList.Extract(Item: TListItem): TListItem; 92 95 var … … 344 347 FCount := FCount - 1; 345 348 System.Move(FItems[Index + 1], FItems[Index], (FCount - Index) * SizeOf(TListItem)); 346 // Shrink the list if appropriate 347 if (Capacity > 256) and (FCount < Capacity shr 2) then 348 begin 349 Capacity := Capacity shr 1; 350 end; 349 Contract; 351 350 end; 352 351
Note:
See TracChangeset
for help on using the changeset viewer.