digitalmars.D.learn - letting D generate functions that look alike
As the subject says, I would like D to generate functions from a template or
something.
I have a (elaborate) function which I have to copy a few times with only
minor changes.
I could make the function variadic, but this would be slower.
Can I let D create the functions for me?
The changes between the functions aren't complexer than:
int add_1(int num){
int i;
i=num+1;
return i;
}
int add_2(int num){
int i;
i=num+2;
return i;
}
Mar 20 2008
Reply to Saaa,
As the subject says, I would like D to generate functions from a
template or something.
I have a (elaborate) function which I have to copy a few times with
only
minor changes.
I could make the function variadic, but this would be slower.
Can I let D create the functions for me?
The changes between the functions aren't complexer than:
int add_1(int num){
int i;
i=num+1;
return i;
}
int add_2(int num){
int i;
i=num+2;
return i;
}
|int add(int inc)(int num){
| int i;
| i = num+inc;
| return i;
|}
|
|add!(1)(val);
|add!(2)(val);
I have done functions with bool template parameters and then static if inside.
If you want clean names for them you can use aliases
alias add!(1) add_1;
alias add!(2) add_2;
Mar 20 2008
Thanks,
I'll try this on my functions (and read up on templates. Never used those
before.. exciting :)
|int add(int inc)(int num){
| int i;
| i = num+inc;
| return i;
|}
|
|add!(1)(val);
|add!(2)(val);
I have done functions with bool template parameters and then static if
inside. If you want clean names for them you can use aliases
alias add!(1) add_1;
alias add!(2) add_2;
Mar 20 2008








"Saaa" <empty needmail.com>