How to check if aggregate member is static templated method?
drug
drug2004 at bk.ru
Thu Feb 15 19:11:01 UTC 2018
15.02.2018 18:49, RazvanN пишет:
> On Thursday, 15 February 2018 at 13:51:41 UTC, drug wrote:
>> 15.02.2018 16:50, drug пишет:
>>> https://run.dlang.io/is/zHT2XZ
>> I can check againts if member is either static function or template.
>> But I failed to check if it both static and templated.
>
> The best I could come up with is:
>
> struct Foo
> {
> static staticMethod()
> {
> }
>
> static templatedStaticMethod(T)(T t)
> {
> }
> }
>
> void main()
> {
> static if(__traits(isTemplate, Foo.templatedStaticMethod) &&
> __traits(isStaticFunction,
> Foo.templatedStaticMethod!int))
> {
> writeln("win");
> }
> }
>
> It seems like a templated method can be queried if it is static only
> after it's instantiation. Hope this helps.
>
> Cheers,
> RazvanN
Thank you for answer!
More information about the Digitalmars-d-learn
mailing list