Why typedef's shouldn't have been removed :(

Gor Gyolchanyan gor.f.gyolchanyan at gmail.com
Sat May 5 11:31:32 PDT 2012


See my version.

On Sat, May 5, 2012 at 10:20 PM, Mehrdad <wfunction at hotmail.com> wrote:
> How do you fix it for size_t and uint, etc.?
>
>
> On Saturday, 5 May 2012 at 13:01:08 UTC, Michel Fortin wrote:
>>
>> On 2012-05-05 05:02:44 +0000, "Mehrdad" <wfunction at hotmail.com> said:
>>
>>> Now it's impossible to figure out whether a ParameterTypeTuple contains
>>> an HWND versus an HGDIOBJ or whatever...
>>>
>>> this should really be fixed...
>>
>>
>> It should be fixed indeed. Perhaps HWND should be defined more like this:
>>
>>        struct HWND { void *handle; }
>>
>> Or if you want it to implement some kind of inheritance scheme:
>>
>>        struct HANDLE { void *ptr; }
>>        struct HWND { HANDLE handle; alias handle this; }
>>
>> That's still a lot better than typedef since you can control what
>> operations are allowed on the type. For instance, you can't multiply two
>> handles with the struct definition, with typedef you could.
>>
>> My only fear is that this might not work play well with the C calling
>> convention (or Window's in this case). If that's the case, then it's a good
>> argument for having a separate language construct.
>
>
>



-- 
Bye,
Gor Gyolchanyan.


More information about the Digitalmars-d mailing list