Object THAMTTypeInfo
Unit
hamt.internals
Declaration
type THAMTTypeInfo = object(TObject)
Description
Default hash function and reference counting for strings/objects
The HAMT requires a hash function (hash) and equality test (equal) to compare keys. Memory management requires methods for reference counting (addRef, release) . Reference counting is mandatory as the HAMT might make arbitrary many copies of everything. assignEqual is called to assign one item to an equal, but not identical item. You can derive an object of THAMTTypeInfo to change some methods, e.g., the hashing.
Hierarchy
Overview
Methods
|
class function hash(const s: string): THAMTHash; static; inline; |
|
class function equal(const s, t: string): boolean; static; inline; |
|
class procedure addRef(var k: string); inline; static; |
|
class procedure release(var k: string); inline; static; |
|
class function toString(const k: string): string; static; inline; |
|
class procedure assignEqual(var a: string; const b: string); inline; static; |
|
class procedure addRef(var k: IUnknown); static; inline; |
|
class procedure release(var k: IUnknown); static; inline; |
|
class procedure assignEqual(var a: IUnknown; const b: IUnknown); inline; static; |
|
class procedure addRef(var k: TObject); inline; |
|
class procedure release(var k: TObject); inline; |
|
class function toString(const k: TObject): string; inline; |
|
class procedure assignEqual(var a: TObject; const b: TObject); inline; static; |
Description
Methods
|
class function hash(const s: string): THAMTHash; static; inline; |
|
|
class function equal(const s, t: string): boolean; static; inline; |
|
|
class procedure addRef(var k: string); inline; static; |
|
|
class procedure release(var k: string); inline; static; |
|
|
class function toString(const k: string): string; static; inline; |
|
|
class procedure assignEqual(var a: string; const b: string); inline; static; |
|
|
class procedure addRef(var k: IUnknown); static; inline; |
|
|
class procedure release(var k: IUnknown); static; inline; |
|
|
class procedure assignEqual(var a: IUnknown; const b: IUnknown); inline; static; |
|
|
class procedure addRef(var k: TObject); inline; |
|
|
class procedure release(var k: TObject); inline; |
|
|
class function toString(const k: TObject): string; inline; |
|
|
class procedure assignEqual(var a: TObject; const b: TObject); inline; static; |
|
Generated by PasDoc 0.14.0.
|