Metaprogramming get type and field at compile time
bioinfornatics via Digitalmars-d-learn
digitalmars-d-learn at puremagic.com
Tue Oct 27 15:34:12 PDT 2015
Dear,
I use FieldTypeTuple and FieldNameTuple to get type and
correponding field name but I fail to loop over these tuple.
As example:
struct Person{
private string name;
private ushort age;
private bool isMale;
this(string name, ushort age, bool isMale){
this.name = name;
this.age = age;
this.isMale = isMale;
}
}
I would like to print with pragma msg:
string name
ushort age
bool isMale
for this I tried:
template getDeclarationFields( FieldTypeName...){
enum typeIndex = 0;
enum nameIndex = FieldTypeName.length / 2;
enum res = FieldTypeName[typeIndex] ~ ' ' ~
FieldTypeName[nameIndex] ~';';
static if( FieldTypeName.length == 1)
enum getDeclarationFields = res;
else
enum getDeclarationFields = res ~ getDeclarationFields!(
FieldTypeName[typeIndex+1..nameIndex] ~
FieldTypeName[nameIndex+1..$] );
}
but that don't build
I though that orange lib should do this somewhere but the lib usi
his self trait method
thanks for your help
More information about the Digitalmars-d-learn
mailing list