Ales Katona wrote:
Micha Nelissen wrote:
Marc Weustink wrote:
BTW,
what woud be the problem with
type
TMySpecificClass = TGenericClass(TObject, Integer);
Or:
<code>
type
TGenericCollection = generic(T: TCollectionItem) class(TComponent)
...implement TCollection and use T
end;
TCollection = TGenericCollection of (TCollectionItem);
TFieldDefs = TGenericCollection of (TFieldDef);
</code>
And:
<code>
type
TGenericList = generic(T: PtrInt) class(TObject)
...implement TList and use PtrInt size for code generation
end;
TList = TGenericList of (Pointer);
</code>
Combining some of the wiki ideas, and has no "evil" <> characters :-).
Probably TFieldDefs adds functionality to TCollection, but it was
first example I came up with.
Implementation of TGenericCollection can be compiled as if (T:
TCollectionItem) were used.
Would this solve the circular dependency ? It seems so to me, because
one knows at least as much as in current implementation of these
classes, but I'm no compiler engineer.
Micha
Are the () required? Why not TSomeList = TGenericList of Pointer; ?
You can have more types
<code>
type
TList = TGenericList of (Pointer, Pointer);
</code>
Marc
_______________________________________________
fpc-devel maillist - fpc-devel@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-devel