Re: Compile time string parse

2009-03-17 Thread Jarrett Billingsley
On Tue, Mar 17, 2009 at 11:28 AM, Jarrett Billingsley wrote: > On Tue, Mar 17, 2009 at 10:54 AM, Paolo Invernizzi > wrote: >> Hi all, >> Someone can point me to a way of doing something like this with DMD 2.026: >> >> class A { >>    invariant(int) rev = std.conv.to!(int)("$Rev: 182 $"); >> } >>

Re: Compile time string parse

2009-03-17 Thread Jarrett Billingsley
On Tue, Mar 17, 2009 at 11:32 AM, Jarrett Billingsley wrote: Sigh, I'll get it eventually. template Atoi(string s) { static if(s.length == 1) enum int Atoi = s[$ - 1] - '0'; else enum int Atoi = 10 * Atoi!(s[0 .. $ - 1]) + (s[$ - 1] - '0'); }

Re: Compile time string parse

2009-03-17 Thread Jarrett Billingsley
On Tue, Mar 17, 2009 at 10:54 AM, Paolo Invernizzi wrote: > Hi all, > Someone can point me to a way of doing something like this with DMD 2.026: > > class A { >    invariant(int) rev = std.conv.to!(int)("$Rev: 182 $"); > } > > I've messed up with metastrings and std.conv, but I cannot find a worki