Mixin Global Variables
    Jarrett Billingsley 
    kb3ctd2 at yahoo.com
       
    Mon Mar 17 07:05:28 PDT 2008
    
    
  
"Brian White" <bcwhite at pobox.com> wrote in message 
news:frlpm6$3km$1 at digitalmars.com...
>I want to create a module/global variable as the result of a template 
>mixin.  However, this variable needs some sort of "static this" 
>initialization.
>
> Is this possible with a single mixin?  (i.e. declare the variable AND 
> create a static initializer for it)
It should be.
If you're using a template mixin:
template foo(T)
{
    T bar;
    static this()
    {
        bar = something();
    }
}
mixin foo!(int);
If you're using a string mixin:
template foo(T)
{
    const char[] foo =
    T.stringof ~ ` bar;
    static this()
    {
        bar = something();
    }`;
}
mixin(foo!(int));
    
    
More information about the Digitalmars-d-learn
mailing list