How to write a counterpart to C++ std::invoke that works with both free functions and methods?
60rntogo
60rntogo at gmail.com
Sun Sep 27 05:22:36 UTC 2020
On Saturday, 26 September 2020 at 23:23:13 UTC, Adam D. Ruppe
wrote:
> As a result, you `add` works fine
I'm afraid not. __traits(isStaticFunction, add) is false, I think
it's because it checks if it is a static member function of some
struct/class. How would I check if it is actually a free
function? I tried
isAggregateType!(__traits(parent, add))
but this doesn't even compile since I defined add inside my main
function and __traits(parent, add) evaluates to main, but
isAggregateType expects a type as an argument.
More information about the Digitalmars-d-learn
mailing list