On 9/11/07, Derek Parnell <derek@nomail.afraid.org> wrote:
In other words, if I have a struct with three members, each of a different
type, I need to code ...
struct S3(T, U, V)
{
T member1;
U member2;
V member3;
}
S3!(const(int), const(float), const(bool));
and so on for 4, 5, 6, .... 23 member structs.
I'm sure I'm misunderstanding you, because this is really silly.
I don't think you're misunderstanding. I think that's what Walter is saying.
But here's another idea. If it were allowable that
(1) an alias template parameter could accept a type constructor, and
(2) "auto" were accepted as a do-nothing type constructor
then you would be able to do this:
struct S(alias X)
{
X(int)* pi;
X(float)* pf;
X(double)* pd;
};
S(const) k; // k's members are tail-const
S(auto) m; // m's members are mutable