System.Generics.Collections.TListHelper

提供: RAD Studio API Documentation
移動先: 案内検索

Delphi

  TListHelper = record
  private type
    TInternalNotifyProc = procedure (ASelf: TObject; const AItem; AAction: TCollectionNotification);
    TInternalCompareFunc = function (ASelf: TObject; const ALeft, ARight): Integer;
    TInternalEmptyFunc = reference to function(const Item): Boolean;
    PInterface = ^IInterface;
    PBytes = ^TBytes;
  private var
    FItems: Pointer;
    FCount: Integer;
    FTypeInfo: Pointer;
    [unsafe] FListObj: TObject;
    FNotify: TInternalNotifyProc;
    FCompare: TInternalCompareFunc;
    function GetElType: Pointer; inline;
    function GetElSize: NativeInt; inline;
    function CheckDeleteRange(AIndex, ACount: Integer): Boolean; inline;
    procedure CheckItemRange(AIndex: Integer); inline;
    procedure CheckInsertRange(AIndex: Integer); inline;
    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 DoIndexOfFwdString(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;
    function DoIndexOfRevString(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);
{$IF Defined(WEAKREF)}
    procedure DoExtractItemFwdWeak(const Value; out Item);
{$ENDIF}
    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);
{$IF Defined(WEAKREF)}
    procedure DoExtractItemRevWeak(const Value; out Item);
{$ENDIF}
    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 DoRemoveFwdString(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 DoRemoveRevString(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);
{$IF Defined(WEAKREF)}
    procedure InternalInsertWeak(AIndex: Integer; const Value);
{$ENDIF}
    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);
{$IF Defined(WEAKREF)}
    procedure InternalInsertRangeWeak(AIndex: Integer; Values: Pointer; ACount: Integer);
{$ENDIF}
    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;
    function InternalIndexOfString(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;
{$IF Defined(WEAKREF)}
    procedure InternalExtractItemWeak(const Value; out Item; Direction: Byte); inline;
{$ENDIF}
    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 InternalRemoveString(const Value; Direction: Byte): Integer;
    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 ElType: Pointer read GetElType;
    property ElSize: NativeInt read GetElSize;
  end;

C++

struct DECLSPEC_DRECORD TListHelper
{
    template <typename T> friend class DELPHICLASS TList__1;
private:
    typedef void __fastcall (*TInternalNotifyProc)(System::TObject* ASelf, const void *AItem, TCollectionNotification AAction);
    typedef int __fastcall (*TInternalCompareFunc)(System::TObject* ASelf, const void *ALeft, const void *ARight);
    __interface DELPHIINTERFACE 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:
    void *FItems;
    int FCount;
    void *FTypeInfo;
    System::TObject* FListObj;
    TInternalNotifyProc FNotify;
    TInternalCompareFunc FCompare;
    void * __fastcall GetElType();
    NativeInt __fastcall GetElSize();
    bool __fastcall CheckDeleteRange(int AIndex, int ACount);
    void __fastcall CheckItemRange(int AIndex);
    void __fastcall CheckInsertRange(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 DoIndexOfFwdString(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);
    int __fastcall DoIndexOfRevString(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 DoExtractItemFwdWeak(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 DoExtractItemRevWeak(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 DoRemoveFwdString(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 DoRemoveRevString(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 __fastcall DoReverseInterface();
    void __fastcall DoReverseVariant();
    void __fastcall DoReverseDynArray();
    void __fastcall DoReverseByteString();
    void __fastcall DoReverseWideString();
    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 __fastcall InternalClear2();
    void __fastcall InternalClear4();
    void __fastcall InternalClear8();
    void __fastcall InternalClearN();
    void __fastcall InternalClearMRef();
    void __fastcall InternalClearManaged();
    void __fastcall InternalClearWeak();
    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 InternalInsertWeak(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);
    void __fastcall InternalInsertRangeWeak(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);
    int __fastcall InternalIndexOfString(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 InternalExtractItemWeak(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 InternalRemoveString(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 __fastcall InternalReverse2();
    void __fastcall InternalReverse4();
    void __fastcall InternalReverse8();
    void __fastcall InternalReverseN();
    void __fastcall InternalReverseMRef(System::TTypeKind Kind);
    void __fastcall InternalReverseManaged();
    void __fastcall InternalToArray(void * &Dest);
    void __fastcall InternalToArrayManaged(void * &Dest);
    __property void * ElType = {read=GetElType};
    __property NativeInt ElSize = {read=GetElSize};
};

プロパティ

種類 可視性 ソース ユニット
record
struct
public
System.Generics.Collections.pas
System.Generics.Collections.hpp
System.Generics.Collections System.Generics.Collections


説明

TList インスタンスを処理するための、非ジェネリック メソッドでの内部ヘルパ。

関連項目