Thread overview |
---|
March 21, 2008 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; } |
March 21, 2008 Re: letting D generate functions that look alike | ||||
---|---|---|---|---|
| ||||
Posted in reply to Saaa | 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;
|
March 21, 2008 Re: letting D generate functions that look alike | ||||
---|---|---|---|---|
| ||||
Posted in reply to BCS | 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;
>
>
|
Copyright © 1999-2021 by the D Language Foundation