В настоящее время я работаю над некоторым кодом регистрации, который должен, среди прочего, печатать информацию о вызывающей функции. Это должно быть относительно легко, стандартный С++ имеет класс type_info
. Это содержит имя типа/функции typeid'd/etc. но это искалечено. Это не очень полезно. То есть typeid(std::vector<int>).name()
возвращает St6vectorIiSaIiEE
.
Есть ли способ сделать что-то полезное из этого? Например, std::vector<int>
для приведенного выше примера. Если он работает только для не-шаблонных классов, это тоже хорошо.
Решение должно работать на gcc, но было бы лучше, если бы я смог его перенести. Он для ведения журнала, поэтому он не так важен, что его нельзя отключить, но он должен быть полезен для отладки.