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
_______________________________________________
fpc-pascal maillist - fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal