[Overview][Types][Classes][Index] | Reference for unit 'pooledmm' (#fcl)

# TPooledMemManager

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Pooled memory manager

## Declaration

Source position: pooledmm.pp line 40

`type TPooledMemManager = class`
`protected`
`FFirstFree: PPooledMemManagerItem;`
`FFreeCount: Integer;`
`FCount: Integer;`
`FMinFree: Integer;`
`FMaxFreeRatio: Integer;`
`FAllocatedCount: Int64;`
`FFreedCount: Int64;`
`procedure DisposeItem();`
`function NewItem;`
`procedure FreeFirstItem; virtual;`
`public`
`property MinimumFreeCount: Integer; [rw]` |  | Minimum count of free items in the list
`property MaximumFreeCountRatio: Integer; [rw]` |  | Maximum ratio of free items over total items
`property Count: Integer; [r]` |  | Number of items in the list
`property FreeCount: Integer; [r]` |  | Number of free items in the list
`property AllocatedCount: Int64; [r]` |  | Total number of allocated items in the list
`property FreedCount: Int64; [r]` |  | Total number of freed items in the list.
`procedure Clear;` |  | Clears the list
`constructor Create;` |  | Creates a new instance of the TPooledMemManager class
`destructor Destroy; override;` |  | Removes an instance of TPooledMemManager class from memory
`end;`

## Inheritance

`TPooledMemManager` |  | Pooled memory manager
`TObject`

## Description

TPooledMemManager is a class which maintains a linked list of blocks, represented by the TPooledMemManagerItem record. It should not be used directly, but should be descended from and the descendent should implement the actual memory manager.

## See also

TPooledMemManagerItem |  | Item used in a linked list

The latest version of this document can be found at lazarus-ccr.sourceforge.net .