Unit Generics.Collections

Description

This file is part of the Free Pascal/NewPascal run time library. Copyright (c) 2014 by Maciej Izak (hnb) member of the NewPascal development team (http://newpascal.org)

Copyright(c) 2004-2018 DaThoX

It contains the generics collections library

See the file COPYING.FPC, included in this distribution, for details about the copyright.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Acknowledgment

Thanks to Sphere 10 Software (http://sphere10.com) for sponsoring many new types and major refactoring of entire library

Thanks to mORMot (http://synopse.info) project for the best implementations of hashing functions like crc32c and xxHash32 :)

**********************************************************************

Overview

Classes, Interfaces, Objects and Records

Name Description
Class EAVLTree  
Class EIndexedAVLTree  
Record TBinarySearchResult  
Class TCustomArrayHelper  
Class TArrayHelper  
Class TEnumerator  
Class TEnumerable  
Class TCustomPointersEnumerator  
Object TCustomPointersCollection  
Class TEnumerableWithPointers  
Class TCustomList  
Class TCustomListEnumerator  
Class TCustomListWithPointers  
Class TList  
Class TSortedList  
Class TThreadList  
Class TQueue  
Class TStack  
Class TObjectList  
Class TObjectQueue  
Class TObjectStack  
Record TEmptyRecord  
Record TPair  
Class TCustomDictionary  
Class TCustomDictionaryEnumerator  
Class TDictionaryEnumerable  
Class TOpenAddressingEnumerator  
Class TOpenAddressingPointersEnumerator  
Record TOpenAddressingPointersCollection  
Class TOpenAddressing  
Class TOpenAddressingTombstones  
Class TOpenAddressingSH  
Class TOpenAddressingQP  
Class TOpenAddressingDH  
Class TDeamortizedDArrayCuckooMapEnumerator  
Class TDeamortizedDArrayPointersEnumerator  
Record TDeamortizedDArrayPointersCollection  
Class TDeamortizedDArrayCuckooMap  
Class TObjectDeamortizedDArrayCuckooMap  
Class TCuckooD2  
Class TCuckooD2  
Class TCuckooD4  
Class TCuckooD4  
Class TCuckooD6  
Class TCuckooD6  
Class TObjectCuckooD2  
Class TObjectCuckooD2  
Class TObjectCuckooD4  
Class TObjectCuckooD4  
Class TObjectCuckooD6  
Class TObjectCuckooD6  
Class TDictionary  
Class TObjectDictionary  
Class TFastHashMap  
Class TFastObjectHashMap  
Class THashMap  
Class TObjectHashMap  
Class TCustomSet  
Class THashSet  
Record TPair  
Record TAVLTreeNode  
Class TCustomTreeEnumerator  
Class TTreeEnumerable  
Class TAVLTreeEnumerator  
Class TCustomAVLTreeMap  
Class TAVLTreeMap  
Class TIndexedAVLTreeMap  
Class TAVLTree  
Class TIndexedAVLTree  
Class TSortedSet  
Class TSortedHashSet  

Functions and Procedures

function InCircularRange(ABottom, AItem, ATop: SizeInt): Boolean;

Types

TDuplicates = Classes.TDuplicates;
TCollectionNotification = (...);
TCollectionNotifyEvent = procedure(ASender: TObject; constref AItem: T; AAction: TCollectionNotification) of object;
TCollectionSortStyle = (...);
TCollectionSortStyles = Set of TCollectionSortStyle;
PObject = ˆTObject;
TOnGetMemoryLayoutKeyPosition = procedure(Sender: TObject; AKeyPos: UInt32) of object;
TDictionaryOwnerships = set of (doOwnsKeys, doOwnsValues);
TNodeNotifyEvent = procedure(ASender: TObject; ANode: PNode; AAction: TCollectionNotification; ADispose: boolean) of object;

Variables

EmptyRecord: TEmptyRecord;

Description

Functions and Procedures

function InCircularRange(ABottom, AItem, ATop: SizeInt): Boolean;
 

Types

TDuplicates = Classes.TDuplicates;
 
TCollectionNotification = (...);

will be renamed to TArray (bug #24254)

Values
  • cnAdded
  • cnRemoved
  • cnExtracted
TCollectionNotifyEvent = procedure(ASender: TObject; constref AItem: T; AAction: TCollectionNotification) of object;
 
TCollectionSortStyle = (...);
 
Values
  • cssNone
  • cssUser
  • cssAuto
TCollectionSortStyles = Set of TCollectionSortStyle;
 
PObject = ˆTObject;
 
TOnGetMemoryLayoutKeyPosition = procedure(Sender: TObject; AKeyPos: UInt32) of object;
 
TDictionaryOwnerships = set of (doOwnsKeys, doOwnsValues);
 
TNodeNotifyEvent = procedure(ASender: TObject; ANode: PNode; AAction: TCollectionNotification; ADispose: boolean) of object;
 

Variables

EmptyRecord: TEmptyRecord;
 

Generated by PasDoc 0.15.0.