Genere código C ++ donde las plantillas se han expandido

Me preguntaba si hay una manera de usar un compilador de C ++ para producir solo código de C ++ donde todas las plantillas se han expandido a las instancias que requiere el programa. Este código debe existir en algún momento del proceso de compilación, aunque probablemente no esté en formato ASCII de manera predeterminada, pero en mi opinión no debería ser demasiado difícil convertirlo de nuevo a código legible de C ++.

EDITAR: Estoy principalmente interesado en una solución que produzca código C ++ real (que al menos compila e idealmente también es legible), no solo una descripción general de las clases y funciones que se instancian. Esto parece una función útil para hacer que el código complejo con plantillas sea más legible (por ejemplo, para la depuración), o en caso de que el código necesite ser procesado por un software que no sea un compilador C ++ normal, que puede no admitir (completamente) plantillas.

Respuestas a la pregunta(3)

Su respuesta a la pregunta