Implicit Template Properties - rules change proposal
Tom S
h3r3tic at remove.mat.uni.torun.pl
Tue Jun 20 09:26:55 PDT 2006
I often find myself creating templates like:
// ----
tempate doSomethingImpl(T) {
template loop(int i) {
....
alias ... loop;
}
alias loop!(0) res;
}
template doSomething(T) {
alias doSomethingImpl!(T).res doSomething;
}
// ----
Clearly the second template is redundant and exists there only to make
the usage pattern easier.
My proposal is to change the rules for implicit template properties
from:
"If a template has exactly one member in it, and the name of that member
is the same as the template name, that member is assumed to be referred
to in a template instantiation"
to:
"If a template has exactly one *public* member in it, (...) "
Then, the template would look like:
// ----
tempate doSomething(T) {
private template loop(int i) {
....
alias ... loop;
}
alias loop!(0) doSomething;
}
// ----
Opinions ?
--
Tomasz Stachowiak /+ a.k.a. h3r3tic +/
More information about the Digitalmars-d
mailing list