Re: Alias overload of function

2019-06-09 Thread Andrey via Digitalmars-d-learn

On Sunday, 9 June 2019 at 10:42:12 UTC, Basile-z wrote:

On Sunday, 9 June 2019 at 10:22:36 UTC, Andrey wrote:

Hello,
I have got 2 functions:

void myFunc(string name, int a)(wstring value) {}
void myFunc(string name, int a)() {}


I want to make an alias (for example for second function 
without argument):

alias myAlias(int a) = myFunc!("Name", a);


but compiler says:

... matches more than one template declaration


So how solve this problem?


use __traits(getOverloads) to apply to all of them in a static 
foreach.


Hmm... Cannot understand how to write getOverloads. My case:

struct Outer
{
   static template Inner(alias a, alias b, T)
   {
   void myFunc() {}
   }
}


This doesn't work (inside Outer):

pragma(msg, __traits(getOverloads, Inner, "myFunc", true));


Re: Alias overload of function

2019-06-09 Thread Basile-z via Digitalmars-d-learn

On Sunday, 9 June 2019 at 10:22:36 UTC, Andrey wrote:

Hello,
I have got 2 functions:

void myFunc(string name, int a)(wstring value) {}
void myFunc(string name, int a)() {}


I want to make an alias (for example for second function 
without argument):

alias myAlias(int a) = myFunc!("Name", a);


but compiler says:

... matches more than one template declaration


So how solve this problem?


use __traits(getOverloads) to apply to all of them in a static 
foreach.