Мы программируем библиотеку протоколирования, которая хранится в файле .hpp. Мы хотели бы включить <tr1/unordered_map>
(если компилятор поддерживает TR1,) или стандарт <map>
в противном случае. Существует ли стандартный способ проверки во время компиляции, если tr1 доступен или нет?Как проверить TR1 во время компиляции?
Я думал, что так же, как присутствует символ «__cplusplus
», может быть определено «__cxx__tr1
» или что-то в этом роде. Я не видел этого в проектах для TR1, поэтому я предполагаю, что его нет, но я хотел сначала спросить на всякий случай.
В качестве примечания, если эти определения не существуют, было бы неплохо включить их в предложения сами.
ОК, это был вариант, которого я хотел избежать, так как хочу просто выпустить файл .hpp и запустить. Для этих «почти стандартных» вещей я предпочел бы простое сравнение, а не необходимость запуска полноценной конфигурации. –
Я принимаю этот ответ, поскольку кажется, что нет способа, и это, кажется, лучший способ ... –