Wait, what? What is AliasSeq?

Timon Gehr via Digitalmars-d digitalmars-d at puremagic.com
Wed Jul 8 10:15:49 PDT 2015


On 07/08/2015 06:44 PM, Jonathan M Davis wrote:
> On Wednesday, 8 July 2015 at 14:45:55 UTC, Xiaoxi wrote:
>> On Wednesday, 8 July 2015 at 14:18:20 UTC, Jonathan M Davis wrote:
>>>
>>> And renaming TypeTuple to Aliases is just going to increase confusion.
>>>
>>> - Jonathan M Davis
>>
>> It's basically just __VA_ARGS__ on steroids, thus 'Arguments' is good,
>> there's precedence in C(Args).
>
> LOL. Then what about when you use it for _parameters_ rather than
> arguments? Or when you use it areas that have _nothing_ to do with
> functions - e.g.
>
> foreach(S; TypeTuple!(string, char[], wstring, dstring))
> {
>      //...
> }
>
> Naming it Arguments gives the impression that it's specifically related
> to arguments, and that's just one small area that it gets used in. And
> that's part of what's so hard about naming it. It just does way too many
> things to name easily.
>
> - Jonathan M Davis

I assume the rationale is that the thing you get is literally the 
arguments to the template.

alias Asdf(T...)=T;

Asdf!(string,char[],wstring,dstring)
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      Arguments

It's the identity function on template argument lists. This is needed 
because those do not have their own syntax.


More information about the Digitalmars-d mailing list