internal/local template memebers
BCS
ao at pathlink.com
Fri Oct 24 21:05:41 PDT 2008
A number of times while working with template code I have found that I need
a variable inside a template but don't want the side effects of doing so.
Specifically 1) having a tmp variable results in having to explicitly reference
template members rather than being able to use the default member rule and
2) the extra symbols seem to result in a substantial increases in the compile
time memory usage.
The idea I'm floating would be to have a "local" storage class (or whatever
keyword is chosen) that would only be accessible from within the template
it is declared in:
template Foo(char[] str)
{
local char[] first = str[0..$/2];
local char[] last = str[$/2..$];
const char[] Foo = Foo!(first) ~ Foo!(last); // legal; note not "Foo!().Foo"
// const char[] Foo = Foo!(first).a ~ Foo!(last).a; // error a is not
accessible
}
During compilation these variables would be computed, used and thrown away
resulting in no long term memory cost.
More information about the Digitalmars-d
mailing list