TypeTuple of functions
H. S. Teoh
hsteoh at quickfur.ath.cx
Thu Jan 26 10:48:37 PST 2012
On Thu, Jan 26, 2012 at 01:32:35PM -0500, bearophile wrote:
[...]
> template TypeTuple(TList...) {
> alias TList TypeTuple;
> }
>
> double f1(in double x) pure nothrow { return x; }
> alias TypeTuple!(f1) funcs1;
>
> alias TypeTuple!(function(in double x) pure nothrow { return x; }) funcs2;
>
> void main() {
> pragma(msg, typeid(typeof(funcs1[0])).stringof); // &D18TypeInfo_FNaNbxdZd6__initZ
> pragma(msg, typeid(typeof(funcs2[0])).stringof); // &D22TypeInfo_PFNaNbNfxdZxd6__initZ
> }
>
>
> Do you know what's the difference between those two functions? (I am not able to read mangled names).
[...]
You could just use:
writeln(typeid(typeof(...)));
instead; it gives you readable names. I modified your code and ran it,
and got:
double()
const(double)()*
T
--
Computers are like a jungle: they have monitor lizards, rams, mice, c-moss, binary trees... and bugs.
More information about the Digitalmars-d-learn
mailing list