Phi
false_t.hpp
1 #ifndef INCG_PHI_CORE_TYPE_TRAITS_FALSE_T_HPP
2 #define INCG_PHI_CORE_TYPE_TRAITS_FALSE_T_HPP
3 
4 #include "phi/phi_config.hpp"
5 
6 #if PHI_HAS_EXTENSION_PRAGMA_ONCE()
7 # pragma once
8 #endif
9 
10 #include "phi/compiler_support/constexpr.hpp"
11 #include "phi/compiler_support/features.hpp"
12 #include "phi/compiler_support/inline_variables.hpp"
13 #include "phi/type_traits/integral_constant.hpp"
14 
15 DETAIL_PHI_BEGIN_NAMESPACE()
16 
17 #if PHI_HAS_FEATURE_VARIABLE_TEMPLATE()
18 
19 template <typename... TypesT>
20 struct false_t : public integral_constant<bool, false>
21 {};
22 
23 #else
24 
25 template <typename Type0T = void, typename Type1T = void, typename Type2T = void,
26  typename Type3T = void, typename Type4T = void, typename Type5T = void,
27  typename Type6T = void, typename Type7T = void, typename Type8T = void,
28  typename Type9T = void>
29 struct false_t : public integral_constant<bool, TypeT Value><false>
30 {};
31 
32 #endif
33 
34 #if PHI_HAS_FEATURE_VARIABLE_TEMPLATE()
35 
36 template <typename... TypesT>
37 PHI_CONSTEXPR PHI_INLINE_VARIABLE bool false_v = false;
38 
39 #endif
40 
41 DETAIL_PHI_END_NAMESPACE()
42 
43 #endif // INCG_PHI_CORE_TYPE_TRAITS_FALSE_T_HPP
Definition: integral_constant.hpp:19
Definition: false_t.hpp:29