GCC 6.1 でコンセプト TS の存在を検出するにはどうすればよいですか?
このページ__cpp_experimental_concepts
では、概念 TS をサポートする実装でマクロを事前定義する必要があることを提案しています。ただし、次のテスト プログラムは、-fconcepts
フラグを使用して GCC 6.1 でエラーなしでコンパイルされます。
#ifdef __cpp_experimental_concepts
static_assert(false, "Concepts TS found");
#endif
template <typename T>
concept bool Identity = true;
int main() {}
static_assert
( が起動するか、concept
キーワードが認識されなくなることを期待します。)
コンセプトが利用可能かどうかに基づいてコードを条件付きでコンパイルする他の方法を知っている人はいますか?