Sign in Join
FPDoc Onlineexperiment

Contnrs unit

Various general purpose classes: stack, queue, objectlists.

The contnrs unit implements various general-purpose classes:

Object lists
lists that manage objects instead of pointers, and which automatically dispose of the objects.
Component lists
lists that manage components instead of pointers, and which automatically dispose the components.
Class lists
lists that manage class pointers instead of pointers.
Stacks
Stack classes to push/pop pointers or objects
Queues
Classes to manage a FIFO list of pointers or objects
Hash lists
General-purpose Hash lists.

Classes and records

EDuplicateclassException raised when a key is stored twice in a hash table.
EKeyNotFoundclassException raised when a key is not found.
TBucketrecordBucket record.
TBucketItemrecordRecord used in bucket list.
TBucketListclassDefault bucket list implementation.
TClassListclassList of classes.
TComponentListclassList to manage component instances.
TCustomBucketListclassCustom bucket list class.
TFPCustomHashTableclassHash class.
TFPDataHashTableclassHash table for data pointers.
TFPHashListclassHash list class for pointer data.
TFPHashListItemrecord
TFPHashObjectclassHash-list aware object.
TFPHashObjectListclass
TFPObjectHashTableclassHash table for object instances.
TFPObjectListclassTFPList descendent which manages objects.
TFPStringHashTableclassHash table for string data.
THTCustomNodeclassSingle item in the hash table.
THTDataNodeclassData node for pointer hashtable.
THTObjectNodeclassNode type for TFPObjectHashTable.
THTOwnedObjectNodeclassNode type for owned objects.
THTStringNodeclassNode type for TFPStringHashTable.
TObjectBucketListclassBucket list using objects instead of pointers.
TObjectListclassList to manage object instances.
TObjectQueueclass
TObjectStackclassObject instances stack.
TOrderedListclassBase class for queues and stacks.
TQueueclassPointer queue.
TStackclassPointer Stack.

Procedures and functions

HashStringfunction
RSHashfunctionStandard hash value calculating function.
ViDataSizefunction
ViGetfunction
ViSetprocedure

Types

PBuckettypePointer to TBucket" type.
PViHashListItemtype
TBucketArraytypeArray of TBucket records.
TBucketItemArraytypeArray of TBucketItem records.
TBucketListSizesenumerationEnumerated type to indicate bucket list size.
TBucketProcprocedure typeCallback for the ForEach call.
TBucketProcObjectprocedure typeCallback for the ForEach call.
TDataIteratorCallBackprocedure typeData iterator CallBack.
TDataIteratorMethodprocedure typeData iterator method.
THashFunctionprocedure typeHash calculation function.
THTCustomNodeClasstypeClass of THTCustomNodeClass.
THTNodetypeAlias for THTDataNode.
TIteratorMethodtypeIterator prototype for TFPCustomHashTable.
TObjectIteratorCallbackprocedure typeiterate callback prototype.
TObjectIteratorMethodprocedure typeiterate callback prototype.
TObjectListCallbackprocedure typeMethod callback type for TFPObjectList.ForEachCall.
TObjectListStaticCallbackprocedure typePlan procedure callback type for TFPObjectList.ForEachCall.
TStringIteratorCallbackprocedure typeIterator callback type.
TStringIteratorMethodprocedure typeIterator callback type.
TViRehashModeenumeration

Constants

MaxHashListSizeconstantMaximum size of hash list.
MaxHashStrSizeconstantMaximum string size.
MaxHashTableSizeconstantMaximum size of the hash table.
MaxItemsPerHashconstantMaximum number of items in each hash bucket.
ViEmptyconstant
ViRealIndexOffsetconstant

Uses

An experiment, built from development snapshots. Not the official Free Pascal or Lazarus documentation.