[Properties (by Name)] [Methods (by Name)] [Events (by Name)]
Cache class.
Source position: cachecls.pp line 69
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. |
|
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.