[fpc-pascal] FPC's generics
Bisma Jayadi
bisma at brawijaya.ac.id
Wed Jun 13 13:53:12 CEST 2007
> type
> TRegularIntegerArray: array[0..100] of integer;
> TGenericArray<T>: array[0..100] of T;
>
> var
> IntegerArrayFromGeneric = specialize TGenericArray<integer>;
Yes, I know, the ':' and '=' usage is wrong, it's a mistypo. :-D
Anyway, using my suggested generic syntax(es), it's allowed to specialize a
generic type in type section. Like below example:
> type
> TRegularIntegerArray = array[0..100] of integer;
> TGenericArray<T> = array[0..100] of T;
> TIntegerArray = specialize TGenericArray<integer>;
>
> var
> IntegerArray: TIntegerArray;
Or:
> type
> TList = generic class(TObject)
> type public
> TCompareFunc = function(const Item1, Item2: T): Integer;
> var public
> data : T;
> procedure Add(item: T);
> procedure Sort(compare: TCompareFunc);
> end of T;
> TPointerList = specialize TList for Pointer;
>
> var
> PointerList: TPointerList;
-Bee-
has Bee.ography at:
http://beeography.wordpress.com
More information about the fpc-pascal
mailing list