Wir programmieren eine Protokollierungsbibliothek, die sich in einer .hpp-Datei befindet. Wir möchten <tr1/unordered_map>
einschließen (wenn der Compiler TR1 unterstützt) oder den Standard <map>
andernfalls. Gibt es eine Standardmethode zur Überprüfung während der Kompilierung, wenn tr1 verfügbar ist oder nicht?Wie man während des Kompilierens nach TR1 sucht?
Ich dachte, dass auf die gleiche Weise, die das "__cplusplus
" definieren Symbol vorhanden ist, könnte ein "__cxx__tr1
" oder so ähnlich definiert worden sein. Ich habe das in den Entwürfen für TR1 nicht gesehen, also nehme ich an, dass es nicht vorhanden ist, aber ich wollte zuerst nur für den Fall fragen.
Als Anmerkung, wenn diese Definitionen nicht existieren, wäre es keine schlechte Idee, sie in die Vorschläge selbst aufzunehmen.
OK, das war eine Option, die ich vermeiden wollte, da ich nur eine .hpp-Datei freigeben und ausführen möchte. Für diese "fast Standard" -Dinge würde ich einen einfachen Vergleich bevorzugen, anstatt eine vollwertige Konfiguration ausführen zu müssen. –
Ich akzeptiere diese Antwort, da es scheint, dass es keinen Weg gibt, und dies scheint der bessere Weg zu sein ... –