Sign in Join
FPDoc Onlineexperiment

TFPGInterfacedObjectList class

In unit fgl

Generic interfaced object list.

Declaration

pascal
TFPGInterfacedObjectList<T> = class(TFPSList)

Inheritance

  1. TFPGInterfacedObjectList
  2. TFPSList
  3. TObject

Description

TFPGList can be used to specialize a list for any class type T that requires reference counting (all objects that implement IInterface or IUnknown)). It will specialize to a list with the same methods as TFPSList or TFPList or TFPObjectList

Classes that implement IInterface or IUnknown require special care to maintain the reference count. The TFPGInterfacedObjectList list provides the necessary functionality to deal with this.

See also

Properties

FirstpublicFirst non-nil object.
LastpublicLast non- Nil object.
ItemspublicIndexed access to objects in the list.
ListpublicInternal list pointer.

Methods

CopyItemprotected
Derefprotected
Getprotected
GetListprotected
ItemPtrCompareprotected
Putprotected
GetLastprotected
SetLastprotected
GetFirstprotected
SetFirstprotected
CreatepublicInstantiate a new interfaced object list.
AddpublicAdd new object of class T to the list.
ExtractpublicExtract an item from the list.
GetEnumeratorpublicReturn a list enumerator for T.
IndexOfpublicIndex of object.
InsertpublicInsert a new object in the list.
AssignpublicCopy objects from Source list.
AddListpublicAdds the elements from another list.
RemovepublicRemove an object from the list.
SortpublicSort the objects in the list.
SortRangepublic

Fields

FOnCompareprotected

Inherited

From TFPSList (24)

Capacity CheckIndex Clear CopyItems Count Delete DeleteRange Destroy Error Exchange Expand InsertRange InternalExchange InternalGet InternalItems InternalPut ItemIsManaged ItemSize Move Pack QuickSort RaiseIndexError SetCapacity SetCount

From TObject (40)

AfterConstruction BeforeDestruction CheckDisposed ClassInfo ClassName ClassNameIs ClassParent ClassType CleanupInstance DefaultHandler DefaultHandlerStr Dispatch DispatchStr Disposed DisposeOf Equals FieldAddress Free FreeInstance GetDisposed GetHashCode GetInterface GetInterfaceByStr GetInterfaceEntry GetInterfaceEntryByStr GetInterfaceTable GetInterfaceWeak GetLastCastErrorInfo InheritsFrom InitInstance InstanceSize MethodAddress MethodName newinstance QualifiedClassName SafeCallException StringMessageTable SystemHasExtendedRTTI ToString UnitName

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