[fpc-pascal] How to use generics and meta class?
Joao Morais
l at joaomorais.com.br
Thu Feb 27 22:43:15 CET 2014
Em 27/02/14 09:39, Sven Barth escreveu:
> Am 27.02.2014 13:37, schrieb Sven Barth:
>> Am 27.02.2014 12:12, schrieb Joao Morais:
>>> Em 25/02/14 05:14, Sven Barth escreveu:
>>>> A generic is by definition not a fully existant type.
>>>
>>> Plans to include generics as a real type for class attributes?
>>> Something like the Java world:
>>>
>>> generic TMyGeneric<T: TMyType> <<-- this is the real type
>>> specialize TMyGeneric<TSomeDescendantType> <<-- only for type
>>> safety, discarded after compiling
>> No, because generics in FPC/Delphi work more like templates in C++
>> than generics in Java/.Net (in these two it works, because of their
>> "everything is an object" approach, we don't have that in Pascal).
Correct. The feature I was talking about is something like:
generic TMyGeneric<T: TMyType>
And TMyType is a class. In this case the compiler knows I am talking
about a generic for a class type and a "generic as Java" becomes possible.
> Addendum: this does not exclude the compiler from trying to optimize
> this if the type parameter is indeed a class type. But this will be
> transparent for the user and will have a few restrictions. It does
> however not change that generics aren't full types.
:/
Maybe in the near (or not so near) future, these two approaches
(templates and generics like in Java) may live together? I mean: is this
technically possible?
More information about the fpc-pascal
mailing list