Chúng tôi đang lập trình một thư viện ghi nhật ký tự lưu giữ trong tệp .hpp. Chúng tôi muốn bao gồm <tr1/unordered_map>
(nếu trình biên dịch hỗ trợ TR1,) hoặc tiêu chuẩn <map>
nếu không. Có cách kiểm tra chuẩn nào tại thời gian biên dịch nếu tr1 có sẵn hay không?Làm thế nào để kiểm tra TR1 trong khi biên dịch?
Tôi đã nghĩ rằng giống như biểu tượng xác định "__cplusplus
" hiện diện, có thể đã được xác định là "__cxx__tr1
" hoặc một cái gì đó tương tự. Tôi đã không thấy điều đó trong các bản nháp cho TR1, vì vậy tôi cho rằng nó không có mặt, nhưng tôi muốn hỏi trước tiên trong trường hợp.
Là một lưu ý, nếu những định nghĩa đó không tồn tại, sẽ không có ý tưởng tồi khi đưa chúng vào các đề xuất.
OK, đó là một tùy chọn tôi muốn tránh, vì tôi chỉ muốn phát hành tệp .hpp và chạy. Đối với những điều "gần như tiêu chuẩn", tôi thích một so sánh đơn giản hơn là phải chạy một cấu hình chính thức. –
Tôi chấp nhận câu trả lời này vì dường như không có cách nào, và điều này có vẻ là cách tốt hơn ... –