可能な限り C++11x 拡張機能を使用したいコードがある場合、これがサポートされていない場合はフォールバックします。現在、GCC の OSX バージョンと VisualC コンパイラは C++11x をほとんどまたはまったくサポートしていないため、以下を使用します。
#if (defined(__APPLE__) || (defined(_WIN32)))
...fallback code without C++11x ...
#else
... code using C++11x ...
#endif
これは機能しますが、特に MacPorts の gcc コンパイラが c++11x をサポートしているため、実際には正しいことではありません。
#define C11X_SUPPORTED
タイプマクロはありますか?おそらくGCCだけが持っているものですか?