Need help with movement from C to D
    Artur Skawina via Digitalmars-d-learn 
    digitalmars-d-learn at puremagic.com
       
    Tue May  6 08:13:28 PDT 2014
    
    
  
On 05/06/14 16:45, via Digitalmars-d-learn wrote:
> On Tuesday, 6 May 2014 at 14:25:01 UTC, Artur Skawina via Digitalmars-d-learn wrote:
>> I'm not sure why you'd want to wrap the .offsetof expression in
>> a template, but it can easily be done like this:
>>
>>    enum offsetOf(alias A, string S) = mixin("A."~S~".offsetof");
> 
> Great, that's even shorter.
> 
> Somehow I was fixated on converting the symbol to a string first, but of course the name is directly available in the mixin:
> 
>     enum offsetof(alias typenfield) = mixin("typenfield.offsetof");
I didn't realize that worked, but it does. So...
   enum offsetOf(alias A) = A.offsetof;
But I have no idea why anybody would want to wrap this trivial
expression like that. 
And, I have no idea if the, hmm, /unconventional/ D offsetof semantics
are in the bugzilla. It's not really a "bug", but a design mistake...
artur
    
    
More information about the Digitalmars-d-learn
mailing list