Takes responsibility for dictating how the Array contained in its owning TLKListBase type is expanded to accommodate items.
TLKListBase will provide a property called CapacityExpanderType of type TLKListCapacityExpanderType defined as
TLKListCapacityExpanderType = class of TLKListCapacityExpander;
The default Capacity Expander will simply allocate one block of memory to the Array at a time (not too bad for single-threaded systems, but pretty poor for large and multi-threaded systems).
Numerous descendants of TLKListCapacityExpander will be provided as a standard part of the LKSL, but implementing developers can also define their own to suit specific requirements.
Takes responsibility for dictating how the Array contained in its owning
TLKListBase
type is expanded to accommodate items.TLKListBase
will provide a property calledCapacityExpanderType
of typeTLKListCapacityExpanderType
defined asThe default Capacity Expander will simply allocate one block of memory to the Array at a time (not too bad for single-threaded systems, but pretty poor for large and multi-threaded systems).
Numerous descendants of
TLKListCapacityExpander
will be provided as a standard part of the LKSL, but implementing developers can also define their own to suit specific requirements.