| Thread overview | |||||
|---|---|---|---|---|---|
|
January 17, 2017 How can I implement this in D: a variant array of varying function pointer types (diff number of args or types) | ||||
|---|---|---|---|---|
| ||||
Z add(Z...)(Z a...) {
return a + b;
}
func[] operatorPool = [&add!int];
Variant library isn't liking that. Removing & causes another error.
Essentially I want a pool of all operators that I define, but these operators can be of differing types (which I should be able to programatically grab), and different N-aryness.
| ||||
January 17, 2017 Re: How can I implement this in D: a variant array of varying function pointer types (diff number of args or types) | ||||
|---|---|---|---|---|
| ||||
Posted in reply to Enjoys Math | On Tuesday, 17 January 2017 at 10:49:14 UTC, Enjoys Math wrote:
> Z add(Z...)(Z a...) {
> return a + b;
> }
>
> func[] operatorPool = [&add!int];
>
> Variant library isn't liking that. Removing & causes another error.
>
> Essentially I want a pool of all operators that I define, but these operators can be of differing types (which I should be able to programatically grab), and different N-aryness.
func? I mean std.variant.Variant there.
| |||
January 17, 2017 Re: How can I implement this in D: a variant array of varying function pointer types (diff number of args or types) | ||||
|---|---|---|---|---|
| ||||
Posted in reply to Enjoys Math | On Tuesday, 17 January 2017 at 10:49:14 UTC, Enjoys Math wrote: > Z add(Z...)(Z a...) { > return a + b; > } > > func[] operatorPool = [&add!int]; > > Variant library isn't liking that. Removing & causes another error. > > Essentially I want a pool of all operators that I define, but these operators can be of differing types (which I should be able to programatically grab), and different N-aryness. Try using `variantArray` from std.variant. see https://dlang.org/phobos/std_variant.html#.variantArray | |||
Copyright © 1999-2021 by the D Language Foundation
Permalink
Reply