Template mixin identifier as template alias parameter
Jack Applegame
japplegame at gmail.com
Sun Nov 11 01:04:15 PST 2012
I'm trying creating template for intrusive double-linked list:
mixin template node() {
static if(is(this == struct))
alias typeof(this)* E;
else
alias typeof(this) E;
E prev, next;
}
struct list(alias N) {
N.E head;
N.E tail;
}
class A {
mixin node;
}
list!A l;
All works great.
If it's need to store one object in two different lists I plan
something like this:
class A {
mixin node L1;
mixin node L2;
}
list!(A.L1) l1;
list!(A.L2) l2;
But compiler doesn't compile that whith error:
"this is not in a class or struct scope|"
in line with
"alias typeof(this) E;"
More information about the Digitalmars-d-learn
mailing list