Estamos programando una biblioteca de registro que se mantiene en un archivo .hpp. Nos gustaría incluir <tr1/unordered_map>
(si el compilador admite TR1,) o el estándar <map>
en caso contrario. ¿Existe una forma estándar de verificar en tiempo de compilación si tr1 está disponible o no?¿Cómo verificar para TR1 mientras compila?
Estaba pensando que de la misma manera que el símbolo de definición "__cplusplus
" está presente, se podría haber definido un "__cxx__tr1
" o algo así. No lo he visto en los borradores de TR1, así que supongo que no está presente, pero quería preguntar primero por las dudas.
Como nota, si esas definiciones no existen, no sería una mala idea incluirlas en las propuestas.
OK, esa era una opción que quería evitar, ya que solo quiero lanzar un archivo .hpp y ejecutarlo. Para estas cosas "casi estándar", preferiría una comparación simple en lugar de tener que ejecutar una configuración completa. –
Estoy aceptando esta respuesta, ya que parece que no hay forma, y esta parece ser la mejor manera ... –