Freelists and clear/emplace
Timon Gehr
timon.gehr at gmx.ch
Sat Jun 16 13:02:28 PDT 2012
On 06/16/2012 09:55 PM, F i L wrote:
> Timon Gehr wrote:
>> 'typeof(this)' can be used to avoid stuttering the type at the mixin
>> location.
>>
>> mixin template Pool() { mixin Pool!(typeof(this)); }
>>
>> class MyOtherClass {
>> mixin Pool;
>> }
>
> For some reason I was under the impression that typeof(this) couldn't be
> resolved in this situation (no 'this' value),
It is indeed special cased.
class S{
pragma(msg, typeof(this)); // ok
pragma(msg, this.stringof);
// Error: 'this' is only defined in non-static member functions, not S
}
> but I'm sure you're
> correct here. Which of course means you'd need to "static
> if(isValueType!typeof(this)) { ... } else { ... }" to make it work with
> structs.
>
>
More information about the Digitalmars-d
mailing list