Wait, what? What is AliasSeq?
Jonathan M Davis via Digitalmars-d
digitalmars-d at puremagic.com
Wed Jul 8 10:21:04 PDT 2015
On Wednesday, 8 July 2015 at 17:15:50 UTC, Timon Gehr wrote:
> 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.
Sure, but they could also represent a template's parameters, not
just the arguments. It all depends on what you're using the
TypeTuple for.
- Jonathan M Davis
More information about the Digitalmars-d
mailing list