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.
|