How to translate this C macro to D mixin/template mixin?
Tejas
notrealemail at gmail.com
Wed Jun 16 17:16:41 UTC 2021
On Wednesday, 16 June 2021 at 05:48:21 UTC, VitaliiY wrote:
> On Tuesday, 15 June 2021 at 12:39:40 UTC, Dennis wrote:
>> On Tuesday, 15 June 2021 at 12:18:26 UTC, VitaliiY wrote:
>>> [...]
>>> ```D
>> enum string ADDBITS(string a, string b) = `
>> {
>> bitbuffer = (bitbuffer<<(`~a~`))|((`~b~`)&((1<<`~a~`)-1));
>> numbits += (`~a~`);
>> mixin(STOREBITS);
>> }`;
>>
>> // on use: ADDBITS(varA, varB) becomes
>> mixin(ADDBITS!("varA", "varB"));
>> `
>>
>> [...]
>
> Thank you, Dennis. I tried with this kind of mixin, but a, b -
> are type of 'int so it's confusing to use them as mixin
> arguments.
Use the
[.stringof](https://dlang.org/spec/property.html#stringofhttps://dlang.org/spec/property.html#stringof) property. That should do it.
More information about the Digitalmars-d-learn
mailing list