[Overview][Resource strings][Types][Classes] | Reference for unit 'CacheCls' (#fcl) |
[Properties (by Name)] [Methods (by Name)] [Events (by Name)]
Cache class
Source position: cachecls.pp line 61
type TCache = class |
||
public |
||
constructor Create(); |
|
Create a new cache class. |
destructor Destroy; override; |
|
Free the TCache class from memory |
function Add(); |
|
Add a data element to the list. |
function AddNew(); |
|
Add a new item to the list. |
function FindSlot(); |
|
Find data pointer in the list |
function IndexOf(); |
|
Return index of a data pointer in the list. |
procedure Remove(); |
|
Remove a data item from the list. |
property Data: Pointer; [rw] |
|
Indexed access to data items |
property MRUSlot: PCacheSlot; [rw] |
|
Most recent item slot. |
property LRUSlot: PCacheSlot; [r] |
|
Last used item |
property SlotCount: Integer; [rw] |
|
Number of slots in the list |
property Slots: PCacheSlot; [r] |
|
Indexed array to the slots |
property OnIsDataEqual: TOnIsDataEqual; [rw] |
|
Event to compare 2 items. |
property OnFreeSlot: TOnFreeSlot; [rw] |
|
Event called when a slot is freed |
end; |
|
Cache class |
|
| | ||
TObject |
TCache implements a cache class: it is a list-like class, but which uses a counting mechanism, and keeps a Most-Recent-Used list; this list represents the 'cache'. The list is internally kept as a doubly-linked list.
The Data property offers indexed access to the array of items. When accessing the array through this property, the MRUSlot property is updated.
No notes exist for this page yet.