catchy phrase for this idiom?
BCS
none at anon.com
Sun Mar 15 16:37:56 PDT 2009
Hello Tim,
> On Sun, 15 Mar 2009 06:27:42 +1300, BCS <none at anon.com> wrote:
>
>> there is no compact form for alias but this
>>
>> T Foo(T)(T t) { return t; }
>>
>> is internally identical the the more verbose form:
>>
>> template Foo(T) { T Foo(T t){ return t; } }
>>
> Hi BCS. On this page: http://www.digitalmars.com/d/1.0/template.html
> scroll down to "Implicit Template Properties" and it says:
>
> "If a template has exactly one member in it, and the name of that
> member is the same as the template name, that member is assumed to be
> referred to in a template instantiation".
>
> I think Andrei Alexandrescu was actually looking a catchy name for
> this. You don't have to specify the templates only property, you use
> the template directly. So its a technique used to make your code less
> verbose.
>
Yes, I known that. I was answering the question you asked about what is verbose
about the usage Andrei posted. I was pointing out that if you consider not
the feature he was asking about but the form he used, then verbose is a good
description. If the example is converted to a function example, as I illustrated,
then this becomes even more clear as the form Andrei used is indeed more
verbose than the other option.
The person who suggested "verbose" as a good name is not totally off base
as often, even with functions, you end up needing to switch to the more verbose
form to allow static asserts or static ifs around the function.
More information about the Digitalmars-d
mailing list