packed Object THAMTNode
Unit
hamt.internals
Declaration
type generic THAMTNode<TItem,TInfo> = packed object(TObject)
Description
Low-level HAMT from which further collections are built
Each node has a reference counter and stores up to 32 pointers or items. The HAMT node is either mutable (if reference counter is 1) or immutable with copy-on-write (if reference counter is >= 2) like strings. Using the nodes directly would be more efficient than using the map classes, since you have one less memory access without the class instance.
Hierarchy
Overview
Internal Classes and Records
Internal Types
Fields
Methods
Description
Internal Types
|
PItem = ˆTItem; |
|
|
THAMTArrayIndex = integer; |
|
Fields
|
internal const HAMTArrayEnd = -1; |
|
Methods
|
class procedure decrementRefCount(node: PHAMTNode); static; |
|
|
class procedure decrementRefCountButKeepChildren(node: PHAMTNode); static; |
|
|
class function allocateEmpty(): PHAMTNode; static; |
|
|
class function include(ppnode: PPHAMTNode; const item: TItem; allowOverride: boolean): Boolean; static; |
|
|
class function exclude(ppnode: PPHAMTNode; const item: TItem): Boolean; static; |
|
|
function find(const item: TItem): PItem; |
|
|
function contains(const item: TItem): boolean; |
|
Generated by PasDoc 0.14.0.
|