On Friday, 2 August 2013 at 11:37:27 UTC, Bosak wrote:
I want to create a mixin template such that:

mixin template ArgNull(alias arg, string name)
{
    if(arg is null)
        throw new Exception(name~" cannot be null.");
}

But is there a way to do that with only one template argument. And then use it like:

string text = null;
mixin ArgNull!(text);

And the above mixin to make:

if(text is null)
    throw new Exception("text cannot be null.");

I tested my code above and it seems it doesn't work either. I came with an idea to
write:

mixin template ArgNull(string arg)
{
    if(mixin(arg) is null)
        throw new Exception(arg~" cannot be null.");
}

But it seems that I can't put an if in a template like that. Is there a way to
implement this?

Reply via email to