осмотрите шаблонное инстанцирование C++

Разве существует ли некоторая утилита, которая позволила бы мне осматривать шаблонное инстанцирование? мой компилятор является g ++ или Intel.

Отдельные моменты я хотел бы:

  • Пошаговое инстанцирование.
  • След инстанцирования (может взломать это путем катастрофического отказа компилятора. Лучший метод?)
  • Контроль шаблонных параметров.

@gf helpd я с простой печатью типа, шаблонной структурной распечаткой программы имени C++.

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

также, если у Вас есть некоторое шаблонное инстанцирование осмотра методов, можете Вы совместно использовать их.

Спасибо

6
задан Community 23 May 2017 в 12:19
поделиться

1 ответ

С шаблонами у нас просто нет чистых средств вывода, и нет известных мне компиляторов, которые позволяли бы вам напрямую просматривать экземпляры шаблонов. Наиболее близким, что я нашел в отношении отладки метапрограмм, была статья о Templight .

На данный момент лучшими утилитами кажутся:

  • статические утверждения и проверки концепции (четко подтверждают ваши предположения)
  • упомянутые обратные трассировки создания экземпляров (например,с помощью статических утверждений)
  • , позволяя экземплярам генерировать предупреждения ( boost :: mpl :: print может сделать это)
  • трассировщик, настраиваемый класс, который передается как аргумент шаблона и используется для испускать выходные данные времени выполнения (введено в Шаблоны C ++ - Полное руководство )
9
ответ дан 10 December 2019 в 02:43
поделиться
Другие вопросы по тегам:

Похожие вопросы: