Template questions

Edward Diener eddielee_no_spam_here at tropicsoft.com
Sat Mar 22 18:22:05 PDT 2008


Jason House wrote:
> Edward Diener wrote:
> 
>> I am going to be asking a number of questions about D templates in
>> various posts, and I hope others can help me understand D templates
>> despite the documentation.
>>
>> First question:
>>
>> In the documentation on templates I read these lines:
>>
>> "Even if template arguments are implicitly converted to the same
>> template parameter type, they still refer to different instances:
>> struct TFoo(int x) { }
>> static assert(is(TFoo!(3) == TFoo!(2 + 1))); // 3 and 2+1 are both 3 of
>> // type
>> int
>> static assert(!is(TFoo!(3) == TFoo!(3u))); // 3u and 3 are different
>> // types"
>>
>> To what is the "int" on line 6 refer ?
>> Why is line 3 considered a D template ? It does not begin with 'template
>> ...'. It looks like a simple 'struct' to me with a public member. How
>> then can it be instantiated as if it were a template ?
>>
>> Otherwise I do understand what is being said about templates being
>> instantiated to different instances.
> 
> You'll help people out if you give us the URL of the page or file you're
> looking at, for example http://www.digitalmars.com/d/2.0/template.html

It is straight from the pdf documentation.

> 
> How are you extracting line numbers?

The first line in my example is 1.

I will assume the 'int' is a typo which no one has seen fit to correct 
or update in the PDF documentation.



More information about the Digitalmars-d mailing list