<div dir="ltr"><p>Hello !<br></p><p>I'm writing a small software to translate header into C++ files.
It works fine for non-template class but I'm having n issue with 
template class, especially with template class's constructor or 
destructor.</p>

<p>I'm using <code>CXXMethodDecl::getNameAsString</code> to get the name of the function.
For a non template class like <br></p><pre style class=""><code><span class="">  </span><span class="">struct</span><span class=""> C
  </span><span class="">{</span><span class="">
    C</span><span class="">();</span><span class="">
    </span><span class="">~</span><span class="">C</span><span class="">();</span><span class="">   
    </span><span class="">//other stuff</span><span class="">
  </span><span class="">}</span></code></pre>

<p>The previous function gives me (as I expect) <code>C</code> and <code>~C</code>.</p>

<p>But if the class is template like the following:</p>

<pre style class=""><code><span class="">  </span><span class="">template</span><span class=""> </span><span class=""><</span><span class="">class</span><span class=""> TT</span><span class="">,</span><span class="">int</span><span class=""> N</span><span class="">></span><span class=""> 
  </span><span class="">struct</span><span class=""> C
  </span><span class="">{</span><span class="">
    C</span><span class="">();</span><span class="">
    </span><span class="">~</span><span class="">C</span><span class="">();</span><span class="">
   </span><span class="">}</span></code></pre>

<p>I get as result : <code>C<TT, N></code> and <code>~C<TT, N></code>,
 which is not what I was expecting. <br></p><p>For me, the name of a function should not be independent of the class 
being template. Classic functions behave the way I expect (same name in 
both cases).</p><p><br></p>

<p>Am I missing something ? Is this the normal behavior or a bug ?</p><p>Thank you !</p><p>David.<br></p></div>