System.Generics.Collections.TListHelper

From RAD Studio API Documentation
Jump to: navigation, search

Delphi

  TListHelper = record
  private type
    TInternalNotifyEvent = procedure (const Item; Action: TCollectionNotification) of object;
    TInternalCompareEvent = function (const Left, Right): Integer of object;
    TInternalEmptyFunc = reference to function(const Item): Boolean;
    PInterface = ^IInterface;
    PBytes = ^TBytes;
  private var
    FCount: Integer;
    FTypeInfo: Pointer;
    FNotify: TInternalNotifyEvent;
    FCompare: TInternalCompareEvent;
    function GetFItems: PPointer; inline;
    function GetElType: Pointer; inline;
    function GetElSize: Integer; inline;
    function CheckDeleteRange(AIndex, ACount: Integer): Boolean; inline;
    procedure CheckItemRangeInline(AIndex: Integer); inline;
    procedure CheckInsertRange(AIndex: Integer); inline;
    procedure CheckItemRange(AIndex: Integer);
    function DoIndexOfFwd1(const Value): Integer;
    function DoIndexOfFwd2(const Value): Integer;
    function DoIndexOfFwd4(const Value): Integer;
    function DoIndexOfFwd8(const Value): Integer;
    function DoIndexOfFwdN(const Value): Integer;
    function DoIndexOfFwdMRef(const Value): Integer;
    function DoIndexOfRev1(const Value): Integer;
    function DoIndexOfRev2(const Value): Integer;
    function DoIndexOfRev4(const Value): Integer;
    function DoIndexOfRev8(const Value): Integer;
    function DoIndexOfRevN(const Value): Integer;
    function DoIndexOfRevMRef(const Value): Integer;
    procedure DoExtractItemFwd1(const Value; out Item);
    procedure DoExtractItemFwd2(const Value; out Item);
    procedure DoExtractItemFwd4(const Value; out Item);
    procedure DoExtractItemFwd8(const Value; out Item);
    procedure DoExtractItemFwdN(const Value; out Item);
    procedure DoExtractItemFwdString(const Value; out Item);
    procedure DoExtractItemFwdInterface(const Value; out Item);
    procedure DoExtractItemFwdVariant(const Value; out Item);
    procedure DoExtractItemFwdByteString(const Value; out Item);
{$IF not Defined(NEXTGEN)}
    procedure DoExtractItemFwdWideString(const Value; out Item);
{$ENDIF}
{$IF Defined(AUTOREFCOUNT)}
    procedure DoExtractItemFwdObject(const Value; out Item);
{$ENDIF}
    procedure DoExtractItemFwdManaged(const Value; out Item);
    procedure DoExtractItemRev1(const Value; out Item);
    procedure DoExtractItemRev2(const Value; out Item);
    procedure DoExtractItemRev4(const Value; out Item);
    procedure DoExtractItemRev8(const Value; out Item);
    procedure DoExtractItemRevN(const Value; out Item);
    procedure DoExtractItemRevString(const Value; out Item);
    procedure DoExtractItemRevInterface(const Value; out Item);
    procedure DoExtractItemRevVariant(const Value; out Item);
    procedure DoExtractItemRevByteString(const Value; out Item);
{$IF not Defined(NEXTGEN)}
    procedure DoExtractItemRevWideString(const Value; out Item);
{$ENDIF}
{$IF Defined(AUTOREFCOUNT)}
    procedure DoExtractItemRevObject(const Value; out Item);
{$ENDIF}
    procedure DoExtractItemRevManaged(const Value; out Item);
    procedure DoExchangeStringInline(Index1, Index2: Integer); inline;
    procedure DoExchangeInterfaceInline(Index1, Index2: Integer); inline;
    procedure DoExchangeVariantInline(Index1, Index2: Integer); inline;
    procedure DoExchangeDynArrayInline(Index1, Index2: Integer); inline;
    procedure DoExchangeByteStringInline(Index1, Index2: Integer); inline;
{$IF not Defined(NEXTGEN)}
    procedure DoExchangeWideStringInline(Index1, Index2: Integer); inline;
{$ENDIF}
{$IF Defined(AUTOREFCOUNT)}
    procedure DoExchangeObjectInline(Index1, Index2: Integer); inline;
{$ENDIF}
    procedure DoExchangeString(Index1, Index2: Integer);
    procedure DoExchangeInterface(Index1, Index2: Integer);
    procedure DoExchangeVariant(Index1, Index2: Integer);
    procedure DoExchangeDynArray(Index1, Index2: Integer);
    procedure DoExchangeByteString(Index1, Index2: Integer);
{$IF not Defined(NEXTGEN)}
    procedure DoExchangeWideString(Index1, Index2: Integer);
{$ENDIF}
{$IF Defined(AUTOREFCOUNT)}
    procedure DoExchangeObject(Index1, Index2: Integer);
{$ENDIF}
    function DoRemoveFwd1(const Value): Integer;
    function DoRemoveFwd2(const Value): Integer;
    function DoRemoveFwd4(const Value): Integer;
    function DoRemoveFwd8(const Value): Integer;
    function DoRemoveFwdN(const Value): Integer;
    function DoRemoveFwdMRef(const Value): Integer;
    function DoRemoveFwdManaged(const Value): Integer;
{$IF Defined(WEAKREF)}
    function DoRemoveFwdWeak(const Value): Integer;
{$ENDIF}
    function DoRemoveRev1(const Value): Integer;
    function DoRemoveRev2(const Value): Integer;
    function DoRemoveRev4(const Value): Integer;
    function DoRemoveRev8(const Value): Integer;
    function DoRemoveRevN(const Value): Integer;
    function DoRemoveRevMRef(const Value): Integer;
    function DoRemoveRevManaged(const Value): Integer;
{$IF Defined(WEAKREF)}
    function DoRemoveRevWeak(const Value): Integer;
{$ENDIF}
    procedure SetItem1(const Value; AIndex: Integer);
    procedure SetItem2(const Value; AIndex: Integer);
    procedure SetItem4(const Value; AIndex: Integer);
    procedure SetItem8(const Value; AIndex: Integer);
    procedure SetItemManaged(const Value; AIndex: Integer);
    procedure SetItemN(const Value; AIndex: Integer);
{$IF Defined(AUTOREFCOUNT)}
    procedure DoInsertObject(AIndex: Integer; const Value);
    procedure DoSetItemObject(const Value; AIndex: Integer);
    function DoAddObject(const Value): Integer;
{$ENDIF}
    procedure DoInsertByteString(AIndex: Integer; const Value);
    procedure DoSetItemByteString(const Value; AIndex: Integer);
    function DoAddByteString(const Value): Integer;
{$IF not Defined(NEXTGEN)}
    procedure DoInsertWideString(AIndex: Integer; const Value);
    procedure DoSetItemWideString(const Value; AIndex: Integer);
    function DoAddWideString(const Value): Integer;
{$ENDIF}
    procedure DoInsertInterface(AIndex: Integer; const Value);
    procedure DoSetItemInterface(const Value; AIndex: Integer);
    procedure DoInsertString(AIndex: Integer; const Value);
    procedure DoSetItemString(const Value; AIndex: Integer);
    procedure DoInsertDynArray(AIndex: Integer; const Value);
    procedure DoSetItemDynArray(const Value; AIndex: Integer);
    procedure SetItemVariant(const Value; AIndex: Integer);
    procedure SetItemMRef(const Value; AIndex: Integer; TypeKind: TTypeKind); inline;
    function DoAddInterface(const Value): Integer;
    function DoAddString(const Value): Integer;
    function DoAddDynArray(const Value): Integer;
    procedure DoReverseMRef(Kind: TTypeKind); inline;
    procedure DoReverseString;
    procedure DoReverseInterface;
    procedure DoReverseVariant;
    procedure DoReverseDynArray;
    procedure DoReverseByteString;
{$IF not Defined(NEXTGEN)}
    procedure DoReverseWideString;
{$ENDIF}
{$IF Defined(AUTOREFCOUNT)}
    procedure DoReverseObject;
{$ENDIF}
    function InternalAdd1(const Value): Integer;
    function InternalAdd2(const Value): Integer;
    function InternalAdd4(const Value): Integer;
    function InternalAdd8(const Value): Integer;
    function InternalAddN(const Value): Integer;
    function InternalAddVariant(const Value): Integer;
    function InternalAddMRef(const Value; TypeKind: TTypeKind): Integer; inline;
    function InternalAddManaged(const Value): Integer;
    procedure InternalGrow(ANewCount: Integer);
    procedure InternalGrowCheck(ANewCount: Integer);
    procedure InternalDeleteRange1(AIndex, ACount: Integer);
    procedure InternalDeleteRange2(AIndex, ACount: Integer);
    procedure InternalDeleteRange4(AIndex, ACount: Integer);
    procedure InternalDeleteRange8(AIndex, ACount: Integer);
    procedure InternalDeleteRangeN(AIndex, ACount: Integer);
    procedure InternalDeleteRangeMRef(AIndex, ACount: Integer);
    procedure InternalDeleteRangeManaged(AIndex, ACount: Integer);
{$IF Defined(WEAKREF)}
    procedure InternalDeleteRangeWeak(AIndex, ACount: Integer);
{$ENDIF}
    procedure InternalDoDelete1(AIndex: Integer; Action: TCollectionNotification);
    procedure InternalDoDelete2(AIndex: Integer; Action: TCollectionNotification);
    procedure InternalDoDelete4(AIndex: Integer; Action: TCollectionNotification);
    procedure InternalDoDelete8(AIndex: Integer; Action: TCollectionNotification);
    procedure InternalDoDeleteN(AIndex: Integer; Action: TCollectionNotification);
    procedure InternalDoDeleteMRef(AIndex: Integer; Action: TCollectionNotification);
    procedure InternalDoDeleteManaged(AIndex: Integer; Action: TCollectionNotification);
{$IF Defined(WEAKREF)}
    procedure InternalDoDeleteWeak(AIndex: Integer; Action: TCollectionNotification);
{$ENDIF}
    procedure InternalSetCapacity(Value: NativeInt);
    procedure InternalSetCount1(Value: Integer);
    procedure InternalSetCount2(Value: Integer);
    procedure InternalSetCount4(Value: Integer);
    procedure InternalSetCount8(Value: Integer);
    procedure InternalSetCountN(Value: Integer);
    procedure InternalSetCountMRef(Value: Integer);
    procedure InternalSetCountManaged(Value: Integer);
{$IF Defined(WEAKREF)}
    procedure InternalSetCountWeak(Value: Integer);
{$ENDIF}
    procedure InternalClear1;
    procedure InternalClear2;
    procedure InternalClear4;
    procedure InternalClear8;
    procedure InternalClearN;
    procedure InternalClearMRef;
    procedure InternalClearManaged;
{$IF Defined(WEAKREF)}
    procedure InternalClearWeak;
{$ENDIF}
    procedure InternalInsert1(AIndex: Integer; const Value);
    procedure InternalInsert2(AIndex: Integer; const Value);
    procedure InternalInsert4(AIndex: Integer; const Value);
    procedure InternalInsert8(AIndex: Integer; const Value);
    procedure InternalInsertN(AIndex: Integer; const Value);
    procedure InternalInsertVariant(AIndex: Integer; const Value);
    procedure InternalInsertMRef(AIndex: Integer; const Value; TypeKind: TTypeKind); inline;
    procedure InternalInsertManaged(AIndex: Integer; const Value);
    procedure InternalInsertRange1(AIndex: Integer; Values: Pointer; ACount: Integer);
    procedure InternalInsertRange2(AIndex: Integer; Values: Pointer; ACount: Integer);
    procedure InternalInsertRange4(AIndex: Integer; Values: Pointer; ACount: Integer);
    procedure InternalInsertRange8(AIndex: Integer; Values: Pointer; ACount: Integer);
    procedure InternalInsertRangeN(AIndex: Integer; Values: Pointer; ACount: Integer);
    procedure InternalInsertRangeManaged(AIndex: Integer; Values: Pointer; ACount: Integer);
    function InternalIndexOf1(const Value; Direction: Byte): Integer; inline;
    function InternalIndexOf2(const Value; Direction: Byte): Integer; inline;
    function InternalIndexOf4(const Value; Direction: Byte): Integer; inline;
    function InternalIndexOf8(const Value; Direction: Byte): Integer; inline;
    function InternalIndexOfN(const Value; Direction: Byte): Integer; inline;
    function InternalIndexOfMRef(const Value; Direction: Byte): Integer; inline;
    procedure InternalExtractItem1(const Value; out Item; Direction: Byte); inline;
    procedure InternalExtractItem2(const Value; out Item; Direction: Byte); inline;
    procedure InternalExtractItem4(const Value; out Item; Direction: Byte); inline;
    procedure InternalExtractItem8(const Value; out Item; Direction: Byte); inline;
    procedure InternalExtractItemN(const Value; out Item; Direction: Byte); inline;
    procedure InternalExtractItemMRef(const Value; Kind: TTypeKind; out Item; Direction: Byte); inline;
    procedure InternalExtractItemVariant(const Value; out Item; Direction: Byte); inline;
    procedure InternalExtractItemManaged(const Value; out Item; Direction: Byte); inline;
    procedure InternalExchange1(Index1, Index2: Integer);
    procedure InternalExchange2(Index1, Index2: Integer);
    procedure InternalExchange4(Index1, Index2: Integer);
    procedure InternalExchange8(Index1, Index2: Integer);
    procedure InternalExchangeN(Index1, Index2: Integer);
    procedure InternalExchangeMRef(Index1, Index2: Integer; Kind: TTypeKind); inline;
    procedure InternalExchangeManaged(Index1, Index2: Integer);
    procedure InternalMove1(CurIndex, NewIndex: Integer);
    procedure InternalMove2(CurIndex, NewIndex: Integer);
    procedure InternalMove4(CurIndex, NewIndex: Integer);
    procedure InternalMove8(CurIndex, NewIndex: Integer);
    procedure InternalMoveN(CurIndex, NewIndex: Integer);
    procedure InternalMoveMRef(CurIndex, NewIndex: Integer);
    procedure InternalMoveManaged(CurIndex, NewIndex: Integer);
    procedure InternalPackInline(const IsEmpty: TInternalEmptyFunc);
    procedure InternalPack1(const IsEmpty: TInternalEmptyFunc);
    procedure InternalPack2(const IsEmpty: TInternalEmptyFunc);
    procedure InternalPack4(const IsEmpty: TInternalEmptyFunc);
    procedure InternalPack8(const IsEmpty: TInternalEmptyFunc);
    procedure InternalPackN(const IsEmpty: TInternalEmptyFunc);
    procedure InternalPackManaged(const IsEmpty: TInternalEmptyFunc);
    function InternalRemove1(const Value; Direction: Byte): Integer; inline;
    function InternalRemove2(const Value; Direction: Byte): Integer; inline;
    function InternalRemove4(const Value; Direction: Byte): Integer; inline;
    function InternalRemove8(const Value; Direction: Byte): Integer; inline;
    function InternalRemoveN(const Value; Direction: Byte): Integer; inline;
    function InternalRemoveMRef(const Value; Direction: Byte): Integer; inline;
    function InternalRemoveManaged(const Value; Direction: Byte): Integer; inline;
{$IF Defined(WEAKREF)}
    function InternalRemoveWeak(const Value; Direction: Byte): Integer; inline;
{$ENDIF}
    procedure InternalReverse1;
    procedure InternalReverse2;
    procedure InternalReverse4;
    procedure InternalReverse8;
    procedure InternalReverseN;
    procedure InternalReverseMRef(Kind: TTypeKind); inline;
    procedure InternalReverseManaged;
    procedure InternalToArray(var Dest: Pointer);
    procedure InternalToArrayManaged(var Dest: Pointer);
    property FItems: PPointer read GetFItems;
    property ElType: Pointer read GetElType;
    property ElSize: Integer read GetElSize;
  end;

C++

struct DECLSPEC_DRECORD TListHelper
{
    template <typename T> friend class DELPHICLASS TList__1;
private:
    typedef void __fastcall (__closure *TInternalNotifyEvent)(const void *Item, TCollectionNotification Action);
    typedef int __fastcall (__closure *TInternalCompareEvent)(const void *Left, const void *Right);
    __interface TInternalEmptyFunc;
    typedef System::DelphiInterface<TInternalEmptyFunc> _di_TInternalEmptyFunc;
    __interface TInternalEmptyFunc  : public System::IInterface
    {
        virtual bool __fastcall Invoke(const void *Item) = 0 ;
    };
    typedef System::_di_IInterface *PInterface;
#ifndef _WIN64
    typedef System::DynamicArray<System::Byte> *PBytes;
#else /* _WIN64 */
    typedef System::TArray__1<System::Byte> *PBytes;
#endif /* _WIN64 */
private:
    int FCount;
    void *FTypeInfo;
    TInternalNotifyEvent FNotify;
    TInternalCompareEvent FCompare;
    System::PPointer __fastcall GetFItems(void);
    void * __fastcall GetElType(void);
    int __fastcall GetElSize(void);
    bool __fastcall CheckDeleteRange(int AIndex, int ACount);
    void __fastcall CheckItemRangeInline(int AIndex);
    void __fastcall CheckInsertRange(int AIndex);
    void __fastcall CheckItemRange(int AIndex);
    int __fastcall DoIndexOfFwd1(const void *Value);
    int __fastcall DoIndexOfFwd2(const void *Value);
    int __fastcall DoIndexOfFwd4(const void *Value);
    int __fastcall DoIndexOfFwd8(const void *Value);
    int __fastcall DoIndexOfFwdN(const void *Value);
    int __fastcall DoIndexOfFwdMRef(const void *Value);
    int __fastcall DoIndexOfRev1(const void *Value);
    int __fastcall DoIndexOfRev2(const void *Value);
    int __fastcall DoIndexOfRev4(const void *Value);
    int __fastcall DoIndexOfRev8(const void *Value);
    int __fastcall DoIndexOfRevN(const void *Value);
    int __fastcall DoIndexOfRevMRef(const void *Value);
    void __fastcall DoExtractItemFwd1(const void *Value, /* out */ void *Item);
    void __fastcall DoExtractItemFwd2(const void *Value, /* out */ void *Item);
    void __fastcall DoExtractItemFwd4(const void *Value, /* out */ void *Item);
    void __fastcall DoExtractItemFwd8(const void *Value, /* out */ void *Item);
    void __fastcall DoExtractItemFwdN(const void *Value, /* out */ void *Item);
    void __fastcall DoExtractItemFwdString(const void *Value, /* out */ void *Item);
    void __fastcall DoExtractItemFwdInterface(const void *Value, /* out */ void *Item);
    void __fastcall DoExtractItemFwdVariant(const void *Value, /* out */ void *Item);
    void __fastcall DoExtractItemFwdByteString(const void *Value, /* out */ void *Item);
    void __fastcall DoExtractItemFwdWideString(const void *Value, /* out */ void *Item);
    void __fastcall DoExtractItemFwdManaged(const void *Value, /* out */ void *Item);
    void __fastcall DoExtractItemRev1(const void *Value, /* out */ void *Item);
    void __fastcall DoExtractItemRev2(const void *Value, /* out */ void *Item);
    void __fastcall DoExtractItemRev4(const void *Value, /* out */ void *Item);
    void __fastcall DoExtractItemRev8(const void *Value, /* out */ void *Item);
    void __fastcall DoExtractItemRevN(const void *Value, /* out */ void *Item);
    void __fastcall DoExtractItemRevString(const void *Value, /* out */ void *Item);
    void __fastcall DoExtractItemRevInterface(const void *Value, /* out */ void *Item);
    void __fastcall DoExtractItemRevVariant(const void *Value, /* out */ void *Item);
    void __fastcall DoExtractItemRevByteString(const void *Value, /* out */ void *Item);
    void __fastcall DoExtractItemRevWideString(const void *Value, /* out */ void *Item);
    void __fastcall DoExtractItemRevManaged(const void *Value, /* out */ void *Item);
    void __fastcall DoExchangeStringInline(int Index1, int Index2);
    void __fastcall DoExchangeInterfaceInline(int Index1, int Index2);
    void __fastcall DoExchangeVariantInline(int Index1, int Index2);
    void __fastcall DoExchangeDynArrayInline(int Index1, int Index2);
    void __fastcall DoExchangeByteStringInline(int Index1, int Index2);
    void __fastcall DoExchangeWideStringInline(int Index1, int Index2);
    void __fastcall DoExchangeString(int Index1, int Index2);
    void __fastcall DoExchangeInterface(int Index1, int Index2);
    void __fastcall DoExchangeVariant(int Index1, int Index2);
    void __fastcall DoExchangeDynArray(int Index1, int Index2);
    void __fastcall DoExchangeByteString(int Index1, int Index2);
    void __fastcall DoExchangeWideString(int Index1, int Index2);
    int __fastcall DoRemoveFwd1(const void *Value);
    int __fastcall DoRemoveFwd2(const void *Value);
    int __fastcall DoRemoveFwd4(const void *Value);
    int __fastcall DoRemoveFwd8(const void *Value);
    int __fastcall DoRemoveFwdN(const void *Value);
    int __fastcall DoRemoveFwdMRef(const void *Value);
    int __fastcall DoRemoveFwdManaged(const void *Value);
    int __fastcall DoRemoveFwdWeak(const void *Value);
    int __fastcall DoRemoveRev1(const void *Value);
    int __fastcall DoRemoveRev2(const void *Value);
    int __fastcall DoRemoveRev4(const void *Value);
    int __fastcall DoRemoveRev8(const void *Value);
    int __fastcall DoRemoveRevN(const void *Value);
    int __fastcall DoRemoveRevMRef(const void *Value);
    int __fastcall DoRemoveRevManaged(const void *Value);
    int __fastcall DoRemoveRevWeak(const void *Value);
    void __fastcall SetItem1(const void *Value, int AIndex);
    void __fastcall SetItem2(const void *Value, int AIndex);
    void __fastcall SetItem4(const void *Value, int AIndex);
    void __fastcall SetItem8(const void *Value, int AIndex);
    void __fastcall SetItemManaged(const void *Value, int AIndex);
    void __fastcall SetItemN(const void *Value, int AIndex);
    void __fastcall DoInsertByteString(int AIndex, const void *Value);
    void __fastcall DoSetItemByteString(const void *Value, int AIndex);
    int __fastcall DoAddByteString(const void *Value);
    void __fastcall DoInsertWideString(int AIndex, const void *Value);
    void __fastcall DoSetItemWideString(const void *Value, int AIndex);
    int __fastcall DoAddWideString(const void *Value);
    void __fastcall DoInsertInterface(int AIndex, const void *Value);
    void __fastcall DoSetItemInterface(const void *Value, int AIndex);
    void __fastcall DoInsertString(int AIndex, const void *Value);
    void __fastcall DoSetItemString(const void *Value, int AIndex);
    void __fastcall DoInsertDynArray(int AIndex, const void *Value);
    void __fastcall DoSetItemDynArray(const void *Value, int AIndex);
    void __fastcall SetItemVariant(const void *Value, int AIndex);
    void __fastcall SetItemMRef(const void *Value, int AIndex, System::TTypeKind TypeKind);
    int __fastcall DoAddInterface(const void *Value);
    int __fastcall DoAddString(const void *Value);
    int __fastcall DoAddDynArray(const void *Value);
    void __fastcall DoReverseMRef(System::TTypeKind Kind);
    void __fastcall DoReverseString(void);
    void __fastcall DoReverseInterface(void);
    void __fastcall DoReverseVariant(void);
    void __fastcall DoReverseDynArray(void);
    void __fastcall DoReverseByteString(void);
    void __fastcall DoReverseWideString(void);
    int __fastcall InternalAdd1(const void *Value);
    int __fastcall InternalAdd2(const void *Value);
    int __fastcall InternalAdd4(const void *Value);
    int __fastcall InternalAdd8(const void *Value);
    int __fastcall InternalAddN(const void *Value);
    int __fastcall InternalAddVariant(const void *Value);
    int __fastcall InternalAddMRef(const void *Value, System::TTypeKind TypeKind);
    int __fastcall InternalAddManaged(const void *Value);
    void __fastcall InternalGrow(int ANewCount);
    void __fastcall InternalGrowCheck(int ANewCount);
    void __fastcall InternalDeleteRange1(int AIndex, int ACount);
    void __fastcall InternalDeleteRange2(int AIndex, int ACount);
    void __fastcall InternalDeleteRange4(int AIndex, int ACount);
    void __fastcall InternalDeleteRange8(int AIndex, int ACount);
    void __fastcall InternalDeleteRangeN(int AIndex, int ACount);
    void __fastcall InternalDeleteRangeMRef(int AIndex, int ACount);
    void __fastcall InternalDeleteRangeManaged(int AIndex, int ACount);
    void __fastcall InternalDeleteRangeWeak(int AIndex, int ACount);
    void __fastcall InternalDoDelete1(int AIndex, TCollectionNotification Action);
    void __fastcall InternalDoDelete2(int AIndex, TCollectionNotification Action);
    void __fastcall InternalDoDelete4(int AIndex, TCollectionNotification Action);
    void __fastcall InternalDoDelete8(int AIndex, TCollectionNotification Action);
    void __fastcall InternalDoDeleteN(int AIndex, TCollectionNotification Action);
    void __fastcall InternalDoDeleteMRef(int AIndex, TCollectionNotification Action);
    void __fastcall InternalDoDeleteManaged(int AIndex, TCollectionNotification Action);
    void __fastcall InternalDoDeleteWeak(int AIndex, TCollectionNotification Action);
    void __fastcall InternalSetCapacity(NativeInt Value);
    void __fastcall InternalSetCount1(int Value);
    void __fastcall InternalSetCount2(int Value);
    void __fastcall InternalSetCount4(int Value);
    void __fastcall InternalSetCount8(int Value);
    void __fastcall InternalSetCountN(int Value);
    void __fastcall InternalSetCountMRef(int Value);
    void __fastcall InternalSetCountManaged(int Value);
    void __fastcall InternalSetCountWeak(int Value);
    void __fastcall InternalClear1(void);
    void __fastcall InternalClear2(void);
    void __fastcall InternalClear4(void);
    void __fastcall InternalClear8(void);
    void __fastcall InternalClearN(void);
    void __fastcall InternalClearMRef(void);
    void __fastcall InternalClearManaged(void);
    void __fastcall InternalClearWeak(void);
    void __fastcall InternalInsert1(int AIndex, const void *Value);
    void __fastcall InternalInsert2(int AIndex, const void *Value);
    void __fastcall InternalInsert4(int AIndex, const void *Value);
    void __fastcall InternalInsert8(int AIndex, const void *Value);
    void __fastcall InternalInsertN(int AIndex, const void *Value);
    void __fastcall InternalInsertVariant(int AIndex, const void *Value);
    void __fastcall InternalInsertMRef(int AIndex, const void *Value, System::TTypeKind TypeKind);
    void __fastcall InternalInsertManaged(int AIndex, const void *Value);
    void __fastcall InternalInsertRange1(int AIndex, void * Values, int ACount);
    void __fastcall InternalInsertRange2(int AIndex, void * Values, int ACount);
    void __fastcall InternalInsertRange4(int AIndex, void * Values, int ACount);
    void __fastcall InternalInsertRange8(int AIndex, void * Values, int ACount);
    void __fastcall InternalInsertRangeN(int AIndex, void * Values, int ACount);
    void __fastcall InternalInsertRangeManaged(int AIndex, void * Values, int ACount);
    int __fastcall InternalIndexOf1(const void *Value, System::Byte Direction);
    int __fastcall InternalIndexOf2(const void *Value, System::Byte Direction);
    int __fastcall InternalIndexOf4(const void *Value, System::Byte Direction);
    int __fastcall InternalIndexOf8(const void *Value, System::Byte Direction);
    int __fastcall InternalIndexOfN(const void *Value, System::Byte Direction);
    int __fastcall InternalIndexOfMRef(const void *Value, System::Byte Direction);
    void __fastcall InternalExtractItem1(const void *Value, /* out */ void *Item, System::Byte Direction);
    void __fastcall InternalExtractItem2(const void *Value, /* out */ void *Item, System::Byte Direction);
    void __fastcall InternalExtractItem4(const void *Value, /* out */ void *Item, System::Byte Direction);
    void __fastcall InternalExtractItem8(const void *Value, /* out */ void *Item, System::Byte Direction);
    void __fastcall InternalExtractItemN(const void *Value, /* out */ void *Item, System::Byte Direction);
    void __fastcall InternalExtractItemMRef(const void *Value, System::TTypeKind Kind, /* out */ void *Item, System::Byte Direction);
    void __fastcall InternalExtractItemVariant(const void *Value, /* out */ void *Item, System::Byte Direction);
    void __fastcall InternalExtractItemManaged(const void *Value, /* out */ void *Item, System::Byte Direction);
    void __fastcall InternalExchange1(int Index1, int Index2);
    void __fastcall InternalExchange2(int Index1, int Index2);
    void __fastcall InternalExchange4(int Index1, int Index2);
    void __fastcall InternalExchange8(int Index1, int Index2);
    void __fastcall InternalExchangeN(int Index1, int Index2);
    void __fastcall InternalExchangeMRef(int Index1, int Index2, System::TTypeKind Kind);
    void __fastcall InternalExchangeManaged(int Index1, int Index2);
    void __fastcall InternalMove1(int CurIndex, int NewIndex);
    void __fastcall InternalMove2(int CurIndex, int NewIndex);
    void __fastcall InternalMove4(int CurIndex, int NewIndex);
    void __fastcall InternalMove8(int CurIndex, int NewIndex);
    void __fastcall InternalMoveN(int CurIndex, int NewIndex);
    void __fastcall InternalMoveMRef(int CurIndex, int NewIndex);
    void __fastcall InternalMoveManaged(int CurIndex, int NewIndex);
    void __fastcall InternalPackInline(const _di_TInternalEmptyFunc IsEmpty);
    void __fastcall InternalPack1(const _di_TInternalEmptyFunc IsEmpty);
    void __fastcall InternalPack2(const _di_TInternalEmptyFunc IsEmpty);
    void __fastcall InternalPack4(const _di_TInternalEmptyFunc IsEmpty);
    void __fastcall InternalPack8(const _di_TInternalEmptyFunc IsEmpty);
    void __fastcall InternalPackN(const _di_TInternalEmptyFunc IsEmpty);
    void __fastcall InternalPackManaged(const _di_TInternalEmptyFunc IsEmpty);
    int __fastcall InternalRemove1(const void *Value, System::Byte Direction);
    int __fastcall InternalRemove2(const void *Value, System::Byte Direction);
    int __fastcall InternalRemove4(const void *Value, System::Byte Direction);
    int __fastcall InternalRemove8(const void *Value, System::Byte Direction);
    int __fastcall InternalRemoveN(const void *Value, System::Byte Direction);
    int __fastcall InternalRemoveMRef(const void *Value, System::Byte Direction);
    int __fastcall InternalRemoveManaged(const void *Value, System::Byte Direction);
    int __fastcall InternalRemoveWeak(const void *Value, System::Byte Direction);
    void __fastcall InternalReverse1(void);
    void __fastcall InternalReverse2(void);
    void __fastcall InternalReverse4(void);
    void __fastcall InternalReverse8(void);
    void __fastcall InternalReverseN(void);
    void __fastcall InternalReverseMRef(System::TTypeKind Kind);
    void __fastcall InternalReverseManaged(void);
    void __fastcall InternalToArray(void * &Dest);
    void __fastcall InternalToArrayManaged(void * &Dest);
    __property System::PPointer FItems = {read=GetFItems};
    __property void * ElType = {read=GetElType};
    __property int ElSize = {read=GetElSize};
};

Properties

Type Visibility Source Unit Parent
record
struct
public
System.Generics.Collections.pas
System.Generics.Collections.hpp
System.Generics.Collections System.Generics.Collections

Description

Internal helper with non-generic methods to handle TList instances.

See Also