Hello !
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.
I’m using CXXMethodDecl::getNameAsString
to get the name of the function. For a non template class like
struct C
{
C();
~C();
//other stuff
}
The previous function gives me (as I expect) C
and ~C
.
But if the class is template like the following:
template <class TT,int N>
struct C
{
C();
~C();
}
I get as result : C<TT, N>
and ~C<TT, N>
, which is not what I was expecting.
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).
Am I missing something ? Is this the normal behavior or a bug ?
Thank you !
David.