Thread overview | ||||||||
---|---|---|---|---|---|---|---|---|
|
January 16, 2021 How to specify an exact template? | ||||
---|---|---|---|---|
| ||||
Here's the following line, among many others: return &alphaBlend32bitMV!(ubyte); This generates an error, as this function template matches two instances, but currently I don't know how to choose the one I need, other than write a local function, that looks a bit ugly. |
January 16, 2021 Re: How to specify an exact template? | ||||
---|---|---|---|---|
| ||||
Posted in reply to solidstate1991 | On Saturday, 16 January 2021 at 14:13:29 UTC, solidstate1991 wrote: > Here's the following line, among many others: > > return &alphaBlend32bitMV!(ubyte); > > This generates an error, as this function template matches two instances, but currently I don't know how to choose the one I need, other than write a local function, that looks a bit ugly. Forgot to link the code example: https://github.com/ZILtoid1991/pixelperfectengine/blob/master/pixeperfectengine/src/PixelPerfectEngine/graphics/layers/base.d#L143 |
January 16, 2021 Re: How to specify an exact template? | ||||
---|---|---|---|---|
| ||||
Posted in reply to solidstate1991 | On Saturday, 16 January 2021 at 14:14:57 UTC, solidstate1991 wrote: > On Saturday, 16 January 2021 at 14:13:29 UTC, solidstate1991 wrote: >> Here's the following line, among many others: >> >> return &alphaBlend32bitMV!(ubyte); >> >> This generates an error, as this function template matches two instances, but currently I don't know how to choose the one I need, other than write a local function, that looks a bit ugly. > > Forgot to link the code example: https://github.com/ZILtoid1991/pixelperfectengine/blob/master/pixeperfectengine/src/PixelPerfectEngine/graphics/layers/base.d#L143 probably you can use https://dlang.org/spec/traits.html#getOverloads |
January 16, 2021 Re: How to specify an exact template? | ||||
---|---|---|---|---|
| ||||
Posted in reply to Tove | On Saturday, 16 January 2021 at 14:18:55 UTC, Tove wrote:
> probably you can use https://dlang.org/spec/traits.html#getOverloads
I don't know how to use it with functions outside of structs/classes.
|
January 16, 2021 Re: How to specify an exact template? | ||||
---|---|---|---|---|
| ||||
Posted in reply to solidstate1991 | On Saturday, 16 January 2021 at 15:41:38 UTC, solidstate1991 wrote:
> On Saturday, 16 January 2021 at 14:18:55 UTC, Tove wrote:
>> probably you can use https://dlang.org/spec/traits.html#getOverloads
>
> I don't know how to use it with functions outside of structs/classes.
void foo() {}
void foo(string i) {}
static foreach(overload; __traits(getOverloads, mixin(__MODULE__), "foo"))
pragma(msg, typeof(overload));
|
January 16, 2021 Re: How to specify an exact template? | ||||
---|---|---|---|---|
| ||||
Posted in reply to solidstate1991 | Well, it's quite complicated to do. I have to manually unwrap each and all function template, then pray for the compile-time optimization gods that they'll be inlined. This is so annoying, that I might issue a DIP... |
Copyright © 1999-2021 by the D Language Foundation