Sequoia
Loading...
Searching...
No Matches
PlatformDiscriminators.hpp
Go to the documentation of this file.
1
2// Copyright Oliver J. Rosten 2023. //
3// Distributed under the GNU GENERAL PUBLIC LICENSE, Version 3.0. //
4// (See accompanying file LICENSE.md or copy at //
5// https://www.gnu.org/licenses/gpl-3.0.en.html) //
7
8#pragma once
9
14#include <type_traits>
15
16namespace sequoia
17{
18 enum class compiler_flavour { clang, gcc, msvc, other };
19
20 template<compiler_flavour F>
21 using compiler_flavour_constant = std::integral_constant<compiler_flavour, F>;
22
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>;
27}