18 enum class compiler_flavour { clang, gcc, msvc, other };
20 template<compiler_flavour F>
21 using compiler_flavour_constant = std::integral_constant<compiler_flavour, F>;
23 using clang_type = compiler_flavour_constant<compiler_flavour::clang>;
24 using gcc_type = compiler_flavour_constant<compiler_flavour::gcc>;
25 using msvc_type = compiler_flavour_constant<compiler_flavour::msvc>;
26 using other_compiler_type = compiler_flavour_constant<compiler_flavour::other>;