CXXMethodDecl :: getNameAsString для конструктора или деструктора класса шаблона

Я пишу небольшое программное обеспечение на C ++ с libtooling преобразовать заголовки C ++ в файлы скелета C ++.

Он отлично работает для не шаблонных классов, но у меня проблема с классами шаблонов, особенно с конструктором или деструктором класса шаблонов.

я использую CXXMethodDecl::getNameAsString чтобы получить название функции.
Для не шаблонного класса, такого как

  struct C
{
C();
~C();
//other stuff
}

Предыдущая функция дает мне (как я ожидаю) C а также ~C,

Но если класс является шаблоном, как показано ниже:

  template <class TT,int N>
struct C
{
C();
~C();
}

Я получаю в результате: C<TT, N> а также ~C<TT, N>что не то, что я ожидал.
Для меня имя функции не должно зависеть от класса, являющегося шаблоном. Классические функции ведут себя так, как я ожидаю (одно и то же имя в обоих случаях).

Я что-то пропустил ? Это нормальное поведение или ошибка?

3

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]