Checking in vendor folder for ease of using go get.
This commit is contained in:
parent
7a1251853b
commit
cdb4b5a1d0
3554 changed files with 1270116 additions and 0 deletions
619
vendor/git.apache.org/thrift.git/lib/delphi/src/Thrift.Collections.pas
generated
vendored
Normal file
619
vendor/git.apache.org/thrift.git/lib/delphi/src/Thrift.Collections.pas
generated
vendored
Normal file
|
@ -0,0 +1,619 @@
|
|||
(*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*)
|
||||
|
||||
unit Thrift.Collections;
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
Generics.Collections, Generics.Defaults, Thrift.Utils;
|
||||
|
||||
type
|
||||
|
||||
{$IF CompilerVersion < 21.0}
|
||||
TArray<T> = array of T;
|
||||
{$IFEND}
|
||||
|
||||
IThriftContainer = interface
|
||||
['{93DEF5A0-D162-461A-AB22-5B4EE0734050}']
|
||||
function ToString: string;
|
||||
end;
|
||||
|
||||
IThriftDictionary<TKey,TValue> = interface(IThriftContainer)
|
||||
['{25EDD506-F9D1-4008-A40F-5940364B7E46}']
|
||||
function GetEnumerator: TEnumerator<TPair<TKey,TValue>>;
|
||||
|
||||
function GetKeys: TDictionary<TKey,TValue>.TKeyCollection;
|
||||
function GetValues: TDictionary<TKey,TValue>.TValueCollection;
|
||||
function GetItem(const Key: TKey): TValue;
|
||||
procedure SetItem(const Key: TKey; const Value: TValue);
|
||||
function GetCount: Integer;
|
||||
|
||||
procedure Add(const Key: TKey; const Value: TValue);
|
||||
procedure Remove(const Key: TKey);
|
||||
{$IF CompilerVersion >= 21.0}
|
||||
function ExtractPair(const Key: TKey): TPair<TKey,TValue>;
|
||||
{$IFEND}
|
||||
procedure Clear;
|
||||
procedure TrimExcess;
|
||||
function TryGetValue(const Key: TKey; out Value: TValue): Boolean;
|
||||
procedure AddOrSetValue(const Key: TKey; const Value: TValue);
|
||||
function ContainsKey(const Key: TKey): Boolean;
|
||||
function ContainsValue(const Value: TValue): Boolean;
|
||||
function ToArray: TArray<TPair<TKey,TValue>>;
|
||||
|
||||
property Items[const Key: TKey]: TValue read GetItem write SetItem; default;
|
||||
property Count: Integer read GetCount;
|
||||
property Keys: TDictionary<TKey,TValue>.TKeyCollection read GetKeys;
|
||||
property Values: TDictionary<TKey,TValue>.TValueCollection read GetValues;
|
||||
end;
|
||||
|
||||
TThriftDictionaryImpl<TKey,TValue> = class( TInterfacedObject, IThriftDictionary<TKey,TValue>)
|
||||
private
|
||||
FDictionaly : TDictionary<TKey,TValue>;
|
||||
protected
|
||||
function GetEnumerator: TEnumerator<TPair<TKey,TValue>>;
|
||||
|
||||
function GetKeys: TDictionary<TKey,TValue>.TKeyCollection;
|
||||
function GetValues: TDictionary<TKey,TValue>.TValueCollection;
|
||||
function GetItem(const Key: TKey): TValue;
|
||||
procedure SetItem(const Key: TKey; const Value: TValue);
|
||||
function GetCount: Integer;
|
||||
|
||||
procedure Add(const Key: TKey; const Value: TValue);
|
||||
procedure Remove(const Key: TKey);
|
||||
{$IF CompilerVersion >= 21.0}
|
||||
function ExtractPair(const Key: TKey): TPair<TKey,TValue>;
|
||||
{$IFEND}
|
||||
procedure Clear;
|
||||
procedure TrimExcess;
|
||||
function TryGetValue(const Key: TKey; out Value: TValue): Boolean;
|
||||
procedure AddOrSetValue(const Key: TKey; const Value: TValue);
|
||||
function ContainsKey(const Key: TKey): Boolean;
|
||||
function ContainsValue(const Value: TValue): Boolean;
|
||||
function ToArray: TArray<TPair<TKey,TValue>>;
|
||||
property Items[const Key: TKey]: TValue read GetItem write SetItem; default;
|
||||
property Count: Integer read GetCount;
|
||||
property Keys: TDictionary<TKey,TValue>.TKeyCollection read GetKeys;
|
||||
property Values: TDictionary<TKey,TValue>.TValueCollection read GetValues;
|
||||
public
|
||||
constructor Create(ACapacity: Integer = 0);
|
||||
destructor Destroy; override;
|
||||
end;
|
||||
|
||||
IThriftList<T> = interface(IThriftContainer)
|
||||
['{29BEEE31-9CB4-401B-AA04-5148A75F473B}']
|
||||
function GetEnumerator: TEnumerator<T>;
|
||||
function GetCapacity: Integer;
|
||||
procedure SetCapacity(Value: Integer);
|
||||
function GetCount: Integer;
|
||||
procedure SetCount(Value: Integer);
|
||||
function GetItem(Index: Integer): T;
|
||||
procedure SetItem(Index: Integer; const Value: T);
|
||||
function Add(const Value: T): Integer;
|
||||
procedure AddRange(const Values: array of T); overload;
|
||||
procedure AddRange(const Collection: IEnumerable<T>); overload;
|
||||
procedure AddRange(Collection: TEnumerable<T>); overload;
|
||||
procedure Insert(Index: Integer; const Value: T);
|
||||
procedure InsertRange(Index: Integer; const Values: array of T); overload;
|
||||
procedure InsertRange(Index: Integer; const Collection: IEnumerable<T>); overload;
|
||||
procedure InsertRange(Index: Integer; const Collection: TEnumerable<T>); overload;
|
||||
function Remove(const Value: T): Integer;
|
||||
procedure Delete(Index: Integer);
|
||||
procedure DeleteRange(AIndex, ACount: Integer);
|
||||
function Extract(const Value: T): T;
|
||||
{$IF CompilerVersion >= 21.0}
|
||||
procedure Exchange(Index1, Index2: Integer);
|
||||
procedure Move(CurIndex, NewIndex: Integer);
|
||||
function First: T;
|
||||
function Last: T;
|
||||
{$IFEND}
|
||||
procedure Clear;
|
||||
function Contains(const Value: T): Boolean;
|
||||
function IndexOf(const Value: T): Integer;
|
||||
function LastIndexOf(const Value: T): Integer;
|
||||
procedure Reverse;
|
||||
procedure Sort; overload;
|
||||
procedure Sort(const AComparer: IComparer<T>); overload;
|
||||
function BinarySearch(const Item: T; out Index: Integer): Boolean; overload;
|
||||
function BinarySearch(const Item: T; out Index: Integer; const AComparer: IComparer<T>): Boolean; overload;
|
||||
procedure TrimExcess;
|
||||
function ToArray: TArray<T>;
|
||||
property Capacity: Integer read GetCapacity write SetCapacity;
|
||||
property Count: Integer read GetCount write SetCount;
|
||||
property Items[Index: Integer]: T read GetItem write SetItem; default;
|
||||
end;
|
||||
|
||||
TThriftListImpl<T> = class( TInterfacedObject, IThriftList<T>)
|
||||
private
|
||||
FList : TList<T>;
|
||||
protected
|
||||
function GetEnumerator: TEnumerator<T>;
|
||||
function GetCapacity: Integer;
|
||||
procedure SetCapacity(Value: Integer);
|
||||
function GetCount: Integer;
|
||||
procedure SetCount(Value: Integer);
|
||||
function GetItem(Index: Integer): T;
|
||||
procedure SetItem(Index: Integer; const Value: T);
|
||||
function Add(const Value: T): Integer;
|
||||
procedure AddRange(const Values: array of T); overload;
|
||||
procedure AddRange(const Collection: IEnumerable<T>); overload;
|
||||
procedure AddRange(Collection: TEnumerable<T>); overload;
|
||||
procedure Insert(Index: Integer; const Value: T);
|
||||
procedure InsertRange(Index: Integer; const Values: array of T); overload;
|
||||
procedure InsertRange(Index: Integer; const Collection: IEnumerable<T>); overload;
|
||||
procedure InsertRange(Index: Integer; const Collection: TEnumerable<T>); overload;
|
||||
function Remove(const Value: T): Integer;
|
||||
procedure Delete(Index: Integer);
|
||||
procedure DeleteRange(AIndex, ACount: Integer);
|
||||
function Extract(const Value: T): T;
|
||||
{$IF CompilerVersion >= 21.0}
|
||||
procedure Exchange(Index1, Index2: Integer);
|
||||
procedure Move(CurIndex, NewIndex: Integer);
|
||||
function First: T;
|
||||
function Last: T;
|
||||
{$IFEND}
|
||||
procedure Clear;
|
||||
function Contains(const Value: T): Boolean;
|
||||
function IndexOf(const Value: T): Integer;
|
||||
function LastIndexOf(const Value: T): Integer;
|
||||
procedure Reverse;
|
||||
procedure Sort; overload;
|
||||
procedure Sort(const AComparer: IComparer<T>); overload;
|
||||
function BinarySearch(const Item: T; out Index: Integer): Boolean; overload;
|
||||
function BinarySearch(const Item: T; out Index: Integer; const AComparer: IComparer<T>): Boolean; overload;
|
||||
procedure TrimExcess;
|
||||
function ToArray: TArray<T>;
|
||||
property Capacity: Integer read GetCapacity write SetCapacity;
|
||||
property Count: Integer read GetCount write SetCount;
|
||||
property Items[Index: Integer]: T read GetItem write SetItem; default;
|
||||
public
|
||||
constructor Create;
|
||||
destructor Destroy; override;
|
||||
end;
|
||||
|
||||
IHashSet<TValue> = interface(IThriftContainer)
|
||||
['{0923A3B5-D4D4-48A8-91AD-40238E2EAD66}']
|
||||
function GetEnumerator: TEnumerator<TValue>;
|
||||
function GetIsReadOnly: Boolean;
|
||||
function GetCount: Integer;
|
||||
property Count: Integer read GetCount;
|
||||
property IsReadOnly: Boolean read GetIsReadOnly;
|
||||
procedure Add( const item: TValue);
|
||||
procedure Clear;
|
||||
function Contains( const item: TValue): Boolean;
|
||||
procedure CopyTo(var A: TArray<TValue>; arrayIndex: Integer);
|
||||
function Remove( const item: TValue ): Boolean;
|
||||
end;
|
||||
|
||||
THashSetImpl<TValue> = class( TInterfacedObject, IHashSet<TValue>)
|
||||
private
|
||||
FDictionary : IThriftDictionary<TValue,Integer>;
|
||||
FIsReadOnly: Boolean;
|
||||
protected
|
||||
function GetEnumerator: TEnumerator<TValue>;
|
||||
function GetIsReadOnly: Boolean;
|
||||
function GetCount: Integer;
|
||||
property Count: Integer read GetCount;
|
||||
property IsReadOnly: Boolean read FIsReadOnly;
|
||||
procedure Add( const item: TValue);
|
||||
procedure Clear;
|
||||
function Contains( const item: TValue): Boolean;
|
||||
procedure CopyTo(var A: TArray<TValue>; arrayIndex: Integer);
|
||||
function Remove( const item: TValue ): Boolean;
|
||||
public
|
||||
constructor Create;
|
||||
end;
|
||||
|
||||
implementation
|
||||
|
||||
{ THashSetImpl<TValue> }
|
||||
|
||||
procedure THashSetImpl<TValue>.Add( const item: TValue);
|
||||
begin
|
||||
if not FDictionary.ContainsKey(item) then
|
||||
begin
|
||||
FDictionary.Add( item, 0);
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure THashSetImpl<TValue>.Clear;
|
||||
begin
|
||||
FDictionary.Clear;
|
||||
end;
|
||||
|
||||
function THashSetImpl<TValue>.Contains( const item: TValue): Boolean;
|
||||
begin
|
||||
Result := FDictionary.ContainsKey(item);
|
||||
end;
|
||||
|
||||
procedure THashSetImpl<TValue>.CopyTo(var A: TArray<TValue>; arrayIndex: Integer);
|
||||
var
|
||||
i : Integer;
|
||||
Enumlator : TEnumerator<TValue>;
|
||||
begin
|
||||
Enumlator := GetEnumerator;
|
||||
while Enumlator.MoveNext do
|
||||
begin
|
||||
A[arrayIndex] := Enumlator.Current;
|
||||
Inc(arrayIndex);
|
||||
end;
|
||||
end;
|
||||
|
||||
constructor THashSetImpl<TValue>.Create;
|
||||
begin
|
||||
inherited;
|
||||
FDictionary := TThriftDictionaryImpl<TValue,Integer>.Create;
|
||||
end;
|
||||
|
||||
function THashSetImpl<TValue>.GetCount: Integer;
|
||||
begin
|
||||
Result := FDictionary.Count;
|
||||
end;
|
||||
|
||||
function THashSetImpl<TValue>.GetEnumerator: TEnumerator<TValue>;
|
||||
begin
|
||||
Result := FDictionary.Keys.GetEnumerator;
|
||||
end;
|
||||
|
||||
function THashSetImpl<TValue>.GetIsReadOnly: Boolean;
|
||||
begin
|
||||
Result := FIsReadOnly;
|
||||
end;
|
||||
|
||||
function THashSetImpl<TValue>.Remove( const item: TValue): Boolean;
|
||||
begin
|
||||
Result := False;
|
||||
if FDictionary.ContainsKey( item ) then
|
||||
begin
|
||||
FDictionary.Remove( item );
|
||||
Result := not FDictionary.ContainsKey( item );
|
||||
end;
|
||||
end;
|
||||
|
||||
{ TThriftDictionaryImpl<TKey, TValue> }
|
||||
|
||||
procedure TThriftDictionaryImpl<TKey, TValue>.Add(const Key: TKey;
|
||||
const Value: TValue);
|
||||
begin
|
||||
FDictionaly.Add( Key, Value);
|
||||
end;
|
||||
|
||||
procedure TThriftDictionaryImpl<TKey, TValue>.AddOrSetValue(const Key: TKey;
|
||||
const Value: TValue);
|
||||
begin
|
||||
FDictionaly.AddOrSetValue( Key, Value);
|
||||
end;
|
||||
|
||||
procedure TThriftDictionaryImpl<TKey, TValue>.Clear;
|
||||
begin
|
||||
FDictionaly.Clear;
|
||||
end;
|
||||
|
||||
function TThriftDictionaryImpl<TKey, TValue>.ContainsKey(
|
||||
const Key: TKey): Boolean;
|
||||
begin
|
||||
Result := FDictionaly.ContainsKey( Key );
|
||||
end;
|
||||
|
||||
function TThriftDictionaryImpl<TKey, TValue>.ContainsValue(
|
||||
const Value: TValue): Boolean;
|
||||
begin
|
||||
Result := FDictionaly.ContainsValue( Value );
|
||||
end;
|
||||
|
||||
constructor TThriftDictionaryImpl<TKey, TValue>.Create(ACapacity: Integer);
|
||||
begin
|
||||
inherited Create;
|
||||
FDictionaly := TDictionary<TKey,TValue>.Create( ACapacity );
|
||||
end;
|
||||
|
||||
destructor TThriftDictionaryImpl<TKey, TValue>.Destroy;
|
||||
begin
|
||||
FDictionaly.Free;
|
||||
inherited;
|
||||
end;
|
||||
|
||||
{$IF CompilerVersion >= 21.0}
|
||||
function TThriftDictionaryImpl<TKey, TValue>.ExtractPair( const Key: TKey): TPair<TKey, TValue>;
|
||||
begin
|
||||
Result := FDictionaly.ExtractPair( Key);
|
||||
end;
|
||||
{$IFEND}
|
||||
|
||||
function TThriftDictionaryImpl<TKey, TValue>.GetCount: Integer;
|
||||
begin
|
||||
Result := FDictionaly.Count;
|
||||
end;
|
||||
|
||||
function TThriftDictionaryImpl<TKey, TValue>.GetEnumerator: TEnumerator<TPair<TKey, TValue>>;
|
||||
begin
|
||||
Result := FDictionaly.GetEnumerator;
|
||||
end;
|
||||
|
||||
function TThriftDictionaryImpl<TKey, TValue>.GetItem(const Key: TKey): TValue;
|
||||
begin
|
||||
Result := FDictionaly.Items[Key];
|
||||
end;
|
||||
|
||||
function TThriftDictionaryImpl<TKey, TValue>.GetKeys: TDictionary<TKey, TValue>.TKeyCollection;
|
||||
begin
|
||||
Result := FDictionaly.Keys;
|
||||
end;
|
||||
|
||||
function TThriftDictionaryImpl<TKey, TValue>.GetValues: TDictionary<TKey, TValue>.TValueCollection;
|
||||
begin
|
||||
Result := FDictionaly.Values;
|
||||
end;
|
||||
|
||||
procedure TThriftDictionaryImpl<TKey, TValue>.Remove(const Key: TKey);
|
||||
begin
|
||||
FDictionaly.Remove( Key );
|
||||
end;
|
||||
|
||||
procedure TThriftDictionaryImpl<TKey, TValue>.SetItem(const Key: TKey;
|
||||
const Value: TValue);
|
||||
begin
|
||||
FDictionaly.AddOrSetValue( Key, Value);
|
||||
end;
|
||||
|
||||
function TThriftDictionaryImpl<TKey, TValue>.ToArray: TArray<TPair<TKey, TValue>>;
|
||||
{$IF CompilerVersion < 22.0}
|
||||
var
|
||||
x : TPair<TKey, TValue>;
|
||||
i : Integer;
|
||||
{$IFEND}
|
||||
begin
|
||||
{$IF CompilerVersion < 22.0}
|
||||
SetLength(Result, Count);
|
||||
i := 0;
|
||||
for x in FDictionaly do
|
||||
begin
|
||||
Result[i] := x;
|
||||
Inc( i );
|
||||
end;
|
||||
{$ELSE}
|
||||
Result := FDictionaly.ToArray;
|
||||
{$IFEND}
|
||||
end;
|
||||
|
||||
procedure TThriftDictionaryImpl<TKey, TValue>.TrimExcess;
|
||||
begin
|
||||
FDictionaly.TrimExcess;
|
||||
end;
|
||||
|
||||
function TThriftDictionaryImpl<TKey, TValue>.TryGetValue(const Key: TKey;
|
||||
out Value: TValue): Boolean;
|
||||
begin
|
||||
Result := FDictionaly.TryGetValue( Key, Value);
|
||||
end;
|
||||
|
||||
{ TThriftListImpl<T> }
|
||||
|
||||
function TThriftListImpl<T>.Add(const Value: T): Integer;
|
||||
begin
|
||||
Result := FList.Add( Value );
|
||||
end;
|
||||
|
||||
procedure TThriftListImpl<T>.AddRange(Collection: TEnumerable<T>);
|
||||
begin
|
||||
FList.AddRange( Collection );
|
||||
end;
|
||||
|
||||
procedure TThriftListImpl<T>.AddRange(const Collection: IEnumerable<T>);
|
||||
begin
|
||||
FList.AddRange( Collection );
|
||||
end;
|
||||
|
||||
procedure TThriftListImpl<T>.AddRange(const Values: array of T);
|
||||
begin
|
||||
FList.AddRange( Values );
|
||||
end;
|
||||
|
||||
function TThriftListImpl<T>.BinarySearch(const Item: T;
|
||||
out Index: Integer): Boolean;
|
||||
begin
|
||||
Result := FList.BinarySearch( Item, Index);
|
||||
end;
|
||||
|
||||
function TThriftListImpl<T>.BinarySearch(const Item: T; out Index: Integer;
|
||||
const AComparer: IComparer<T>): Boolean;
|
||||
begin
|
||||
Result := FList.BinarySearch( Item, Index, AComparer);
|
||||
end;
|
||||
|
||||
procedure TThriftListImpl<T>.Clear;
|
||||
begin
|
||||
FList.Clear;
|
||||
end;
|
||||
|
||||
function TThriftListImpl<T>.Contains(const Value: T): Boolean;
|
||||
begin
|
||||
Result := FList.Contains( Value );
|
||||
end;
|
||||
|
||||
constructor TThriftListImpl<T>.Create;
|
||||
begin
|
||||
inherited;
|
||||
FList := TList<T>.Create;
|
||||
end;
|
||||
|
||||
procedure TThriftListImpl<T>.Delete(Index: Integer);
|
||||
begin
|
||||
FList.Delete( Index )
|
||||
end;
|
||||
|
||||
procedure TThriftListImpl<T>.DeleteRange(AIndex, ACount: Integer);
|
||||
begin
|
||||
FList.DeleteRange( AIndex, ACount)
|
||||
end;
|
||||
|
||||
destructor TThriftListImpl<T>.Destroy;
|
||||
begin
|
||||
FList.Free;
|
||||
inherited;
|
||||
end;
|
||||
|
||||
{$IF CompilerVersion >= 21.0}
|
||||
procedure TThriftListImpl<T>.Exchange(Index1, Index2: Integer);
|
||||
begin
|
||||
FList.Exchange( Index1, Index2 )
|
||||
end;
|
||||
{$IFEND}
|
||||
|
||||
function TThriftListImpl<T>.Extract(const Value: T): T;
|
||||
begin
|
||||
Result := FList.Extract( Value )
|
||||
end;
|
||||
|
||||
{$IF CompilerVersion >= 21.0}
|
||||
function TThriftListImpl<T>.First: T;
|
||||
begin
|
||||
Result := FList.First;
|
||||
end;
|
||||
{$IFEND}
|
||||
|
||||
function TThriftListImpl<T>.GetCapacity: Integer;
|
||||
begin
|
||||
Result := FList.Capacity;
|
||||
end;
|
||||
|
||||
function TThriftListImpl<T>.GetCount: Integer;
|
||||
begin
|
||||
Result := FList.Count;
|
||||
end;
|
||||
|
||||
function TThriftListImpl<T>.GetEnumerator: TEnumerator<T>;
|
||||
begin
|
||||
Result := FList.GetEnumerator;
|
||||
end;
|
||||
|
||||
function TThriftListImpl<T>.GetItem(Index: Integer): T;
|
||||
begin
|
||||
Result := FList[Index];
|
||||
end;
|
||||
|
||||
function TThriftListImpl<T>.IndexOf(const Value: T): Integer;
|
||||
begin
|
||||
Result := FList.IndexOf( Value );
|
||||
end;
|
||||
|
||||
procedure TThriftListImpl<T>.Insert(Index: Integer; const Value: T);
|
||||
begin
|
||||
FList.Insert( Index, Value);
|
||||
end;
|
||||
|
||||
procedure TThriftListImpl<T>.InsertRange(Index: Integer;
|
||||
const Collection: TEnumerable<T>);
|
||||
begin
|
||||
FList.InsertRange( Index, Collection );
|
||||
end;
|
||||
|
||||
procedure TThriftListImpl<T>.InsertRange(Index: Integer;
|
||||
const Values: array of T);
|
||||
begin
|
||||
FList.InsertRange( Index, Values);
|
||||
end;
|
||||
|
||||
procedure TThriftListImpl<T>.InsertRange(Index: Integer;
|
||||
const Collection: IEnumerable<T>);
|
||||
begin
|
||||
FList.InsertRange( Index, Collection );
|
||||
end;
|
||||
|
||||
{$IF CompilerVersion >= 21.0}
|
||||
function TThriftListImpl<T>.Last: T;
|
||||
begin
|
||||
Result := FList.Last;
|
||||
end;
|
||||
{$IFEND}
|
||||
|
||||
function TThriftListImpl<T>.LastIndexOf(const Value: T): Integer;
|
||||
begin
|
||||
Result := FList.LastIndexOf( Value );
|
||||
end;
|
||||
|
||||
{$IF CompilerVersion >= 21.0}
|
||||
procedure TThriftListImpl<T>.Move(CurIndex, NewIndex: Integer);
|
||||
begin
|
||||
FList.Move( CurIndex, NewIndex);
|
||||
end;
|
||||
{$IFEND}
|
||||
|
||||
function TThriftListImpl<T>.Remove(const Value: T): Integer;
|
||||
begin
|
||||
Result := FList.Remove( Value );
|
||||
end;
|
||||
|
||||
procedure TThriftListImpl<T>.Reverse;
|
||||
begin
|
||||
FList.Reverse;
|
||||
end;
|
||||
|
||||
procedure TThriftListImpl<T>.SetCapacity(Value: Integer);
|
||||
begin
|
||||
FList.Capacity := Value;
|
||||
end;
|
||||
|
||||
procedure TThriftListImpl<T>.SetCount(Value: Integer);
|
||||
begin
|
||||
FList.Count := Value;
|
||||
end;
|
||||
|
||||
procedure TThriftListImpl<T>.SetItem(Index: Integer; const Value: T);
|
||||
begin
|
||||
FList[Index] := Value;
|
||||
end;
|
||||
|
||||
procedure TThriftListImpl<T>.Sort;
|
||||
begin
|
||||
FList.Sort;
|
||||
end;
|
||||
|
||||
procedure TThriftListImpl<T>.Sort(const AComparer: IComparer<T>);
|
||||
begin
|
||||
FList.Sort;
|
||||
end;
|
||||
|
||||
function TThriftListImpl<T>.ToArray: TArray<T>;
|
||||
{$IF CompilerVersion < 22.0}
|
||||
var
|
||||
x : T;
|
||||
i : Integer;
|
||||
{$IFEND}
|
||||
begin
|
||||
{$IF CompilerVersion < 22.0}
|
||||
SetLength(Result, Count);
|
||||
i := 0;
|
||||
for x in FList do
|
||||
begin
|
||||
Result[i] := x;
|
||||
Inc( i );
|
||||
end;
|
||||
{$ELSE}
|
||||
Result := FList.ToArray;
|
||||
{$IFEND}
|
||||
end;
|
||||
|
||||
procedure TThriftListImpl<T>.TrimExcess;
|
||||
begin
|
||||
FList.TrimExcess;
|
||||
end;
|
||||
|
||||
end.
|
Loading…
Add table
Add a link
Reference in a new issue