StrictExpressionList

Sometimes we don't want to auto expand expression ExpressionLists. That can be used to pass several lists into templates without breaking their boundaries.

template StrictExpressionList (
T...
) {}

Members

Aliases

expand
alias expand = T

Explicit expand

Templates

toString
template toString()

Pretty printing

Examples

Example

template Test(alias T1, alias T2)
{
    static assert([T1.expand] == [1, 2]);
    static assert([T2.expand] == [3, 4]);
    enum Test = true;
}

static assert(Test!(StrictExpressionList!(1, 2), StrictExpressionList!(3, 4)));

Meta