generics.collectionsUnits Class Hierarchy Classes, Interfaces, Objects and Records Types Variables Constants Functions and Procedures Identifiers |
Class TOpenAddressing
Unit
Generics.Collections
Declaration
type TOpenAddressing<TKey,TValue,THashFactory,TProbeSequence> = class abstract(TCustomDictionary<TKey,TValue,THashFactory>)
Description
No description available, ancestor TCustomDictionary description follows
bug #24283 and #24097 (forward declaration) - should be: TCustomDictionary<CUSTOM_DICTIONARY_CONSTRAINTS> = class(TEnumerable<TPair<TKey, TValue> >);
Hierarchy
Overview
Internal Classes and Records
 |
TItem = record |
 |
TKeyCollection = class(TDictionaryEnumerable<TKeyEnumerator,TPKeyEnumerator,TKey,TKey,TValue,THashFactory>) |
 |
TKeyEnumerator = class(TOpenAddressingEnumerator<TKey,TKey,TValue,THashFactory,TProbeSequence>) |
 |
TPairEnumerator = class(TOpenAddressingEnumerator<TDictionaryPair,TKey,TValue,THashFactory,TProbeSequence>) |
 |
TPKeyEnumerator = class(TOpenAddressingEnumerator<PKey,TKey,TValue,THashFactory,TProbeSequence>) |
 |
TPointersEnumerator = class(TOpenAddressingPointersEnumerator<TItem,PDictionaryPair>) |
 |
TPValueEnumerator = class(TOpenAddressingEnumerator<PValue,TKey,TValue,THashFactory,TProbeSequence>) |
 |
TValueCollection = class(TDictionaryEnumerable<TValueEnumerator,TPValueEnumerator,TValue,TKey,TValue,THashFactory>) |
 |
TValueEnumerator = class(TOpenAddressingEnumerator<TValue,TKey,TValue,THashFactory,TProbeSequence>) |
Internal Types
Fields
Methods
Properties
Description
Internal Types
 |
TItemsArray = array of TItem; |
|
Fields
 |
var FItems: TItemsArray; |
FItems must be declared as first field
|
 |
FItemsThreshold: SizeInt; |
|
Methods
 |
procedure Resize(ANewSize: SizeInt); |
|
 |
procedure PrepareAddingItem; |
|
 |
function RealItemsLength: SizeInt; virtual; |
|
 |
function Rehash(ASizePow2: SizeInt; AForce: Boolean = False): boolean; virtual; |
|
 |
function FindBucketIndex(constref AKey: TKey): SizeInt; overload; inline; |
|
 |
function FindBucketIndex(constref AItems: TArray<TItem>; constref AKey: TKey; out AHash: UInt32): SizeInt; virtual; abstract; overload; |
|
 |
function GetEnumerator: TPairEnumerator; reintroduce; |
bug #24283 - workaround related to lack of DoGetEnumerator
|
 |
function GetItem(const AKey: TKey): TValue; inline; |
|
 |
procedure SetItem(const AKey: TKey; const AValue: TValue); inline; |
|
 |
procedure AddItem(var AItem: TItem; constref AKey: TKey; constref AValue: TValue; const AHash: UInt32); inline; |
|
 |
function DoRemove(AIndex: SizeInt; ACollectionNotification: TCollectionNotification): TValue; virtual; |
useful for using dictionary as array
|
 |
function DoAdd(constref AKey: TKey; constref AValue: TValue): SizeInt; virtual; |
|
 |
procedure UpdateItemsThreshold(ASize: SizeInt); override; |
|
 |
procedure SetCapacity(ACapacity: SizeInt); override; |
|
 |
procedure SetMaxLoadFactor(AValue: single); override; |
|
 |
function GetLoadFactor: single; override; |
|
 |
function GetCapacity: SizeInt; override; |
|
 |
constructor Create(ACapacity: SizeInt; const AComparer: IEqualityComparer<TKey>); override; overload; |
many constructors because bug #25607
|
 |
procedure Add(constref APair: TPair<TKey, TValue>); override; overload; |
|
 |
procedure Add(constref AKey: TKey; constref AValue: TValue); overload; inline; |
|
 |
procedure Remove(constref AKey: TKey); |
|
 |
function ExtractPair(constref AKey: TKey): TPair<TKey, TValue>; |
|
 |
procedure Clear; override; |
|
 |
procedure TrimExcess; |
|
 |
function TryGetValue(constref AKey: TKey; out AValue: TValue): Boolean; |
|
 |
procedure AddOrSetValue(constref AKey: TKey; constref AValue: TValue); |
|
 |
function ContainsKey(constref AKey: TKey): Boolean; inline; |
|
 |
function ContainsValue(constref AValue: TValue): Boolean; overload; |
|
 |
function ContainsValue(constref AValue: TValue; const AEqualityComparer: IEqualityComparer<TValue>): Boolean; virtual; overload; |
|
Properties
Generated by PasDoc 0.15.0.
|