static code generation
    js.mdnq 
    js_adddot+mdng at gmail.com
       
    Sat Dec 15 16:00:23 PST 2012
    
    
  
On Saturday, 15 December 2012 at 23:04:37 UTC, r_m_r wrote:
> On 12/16/2012 04:00 AM, js.mdnq wrote:
>> Now, the next step is to be able to "insert" code into the 
>> struct! ;)
>
> how about this: http://dpaste.dzfl.pl/8161d00a
>
> regards,
> r_m_r
No, it's backwards! ;)
Or, sort of what one wants to do is:
template MasterStruct_A(alias f, string c = "")
{
	enum F = f;
	
	struct S
	{
		int X;
		int Y;
		
		this(int x, int y) { X = x; Y= y; }
		
		mixin (c);
	}
}
template UserStruct(alias f)
{
	enum F = f;
	
	struct S
	{
		int A;
		int B;	
	}
}
and mixin the UserStruct.S with the MasterStruct_A
something like
mixin (genStruct!(MasterStruct_A, UserStruct, "s3");
which is equivalent of to the following
	struct S
	{
		int X;
		int Y;
		
		this(int x, int y) { X = x; Y= y; }
		
                 int A;
                 int B;
	}
S s3;
This, then basically adds the ability to do partial structs(or 
classes) relatively easily(although not as easy if the compiler 
did it automatically).
    
    
More information about the Digitalmars-d-learn
mailing list