compile time output

BCS ao at pathlink.com
Tue Jan 20 12:10:44 PST 2009


Reply to Trass3r,

> BCS schrieb:
> 
>> I don't do 2.0 but it looks to me like your mixing runtime and
>> compile time stuff. A foreach over an array is a runtime foreach.
>> 
> Do you know how I could make it run at compile-time?
> 

template Tpl(T...)
{
  alias T Tpl;
}

template Range(int l, int u)
{
  static if(l<u)
    alias Tpl!(l, Range!(l+1,u)) Range;
  else
    alias Tpl!(l) Range;
}

const char[][] set = ["Hello"[], "world" ];

void main()
{
  foreach(str; Range!(0,set.length-1)) // compile time foreach over the numbers 
from 0 to set.length-1
    pragma(msg, set[str]);
}




More information about the Digitalmars-d-learn mailing list