On 2012-08-29 22:20, Piotr Szturmaj wrote:
The current possibility of UFCS is:struct S { } void func(S s) { } S s; s.func(); // equivalent of func(s); why not add: template sizeInInts(T) { enum sizeInInts = T.sizeof / 4; } S.sizeInInts // equivalent of sizeInInts!S Is it worth it? I mean adding static members to aggregate types. Consider another example: struct MD5 { ... } struct SHA1 { ... } string hash(Digest)(const(void)[] data) if (isDigest!Digest) { Digest d; ubyte[DigestLen!Digest] h; d.put(cast(const(ubyte)[])data); d.finish(h); return xformat("%(%02x%)", h); } and instead of writing hash!SHA1("abc"), write SHA1.hash("abc");
I would like to have this feature. I've asked about it before. -- /Jacob Carlborg
