Skip to content

Commit 85dbbff

Browse files
committed
Match each #define ... 1 with a #define ... 0
nonstd/optional uses #if instead of #ifdef without #ifdef/#ifndef guards.
1 parent c040704 commit 85dbbff

File tree

1 file changed

+38
-2
lines changed

1 file changed

+38
-2
lines changed

src/nonstd/optional.hpp

Lines changed: 38 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -65,11 +65,18 @@
6565
# define optional_HAVE_AUTO 1
6666
# define optional_HAVE_NULLPTR 1
6767
# define optional_HAVE_STATIC_ASSERT 1
68+
#else
69+
# define optional_HAVE_AUTO 0
70+
# define optional_HAVE_NULLPTR 0
71+
# define optional_HAVE_STATIC_ASSERT 0
6872
#endif
6973

7074
#if optional_CPP11_OR_GREATER || optional_COMPILER_MSVC_VERSION >= 12
7175
# define optional_HAVE_DEFAULT_FUNCTION_TEMPLATE_ARG 1
7276
# define optional_HAVE_INITIALIZER_LIST 1
77+
#else
78+
# define optional_HAVE_DEFAULT_FUNCTION_TEMPLATE_ARG 0
79+
# define optional_HAVE_INITIALIZER_LIST 0
7380
#endif
7481

7582
#if optional_CPP11_OR_GREATER || optional_COMPILER_MSVC_VERSION >= 14
@@ -81,50 +88,79 @@
8188
# define optional_HAVE_IS_DELETE 1
8289
# define optional_HAVE_NOEXCEPT 1
8390
# define optional_HAVE_REF_QUALIFIER 1
91+
#else
92+
# define optional_HAVE_ALIAS_TEMPLATE 0
93+
# define optional_HAVE_CONSTEXPR_11 0
94+
# define optional_HAVE_ENUM_CLASS 0
95+
# define optional_HAVE_EXPLICIT_CONVERSION 0
96+
# define optional_HAVE_IS_DEFAULT 0
97+
# define optional_HAVE_IS_DELETE 0
98+
# define optional_HAVE_NOEXCEPT 0
99+
# define optional_HAVE_REF_QUALIFIER 0
84100
#endif
85101

86102
// Presence of C++14 language features:
87103

88104
#if optional_CPP14_OR_GREATER
89105
# define optional_HAVE_CONSTEXPR_14 1
106+
#else
107+
# define optional_HAVE_CONSTEXPR_14 0
90108
#endif
91109

92110
// Presence of C++17 language features:
93111

94112
#if optional_CPP17_OR_GREATER
95113
# define optional_HAVE_ENUM_CLASS_CONSTRUCTION_FROM_UNDERLYING_TYPE 1
114+
#else
115+
# define optional_HAVE_ENUM_CLASS_CONSTRUCTION_FROM_UNDERLYING_TYPE 0
96116
#endif
97117

98118
// Presence of C++ library features:
99119

100120
#if optional_COMPILER_GNUC_VERSION
101121
# define optional_HAVE_TR1_TYPE_TRAITS 1
102122
# define optional_HAVE_TR1_ADD_POINTER 1
123+
#else
124+
# define optional_HAVE_TR1_TYPE_TRAITS 0
125+
# define optional_HAVE_TR1_ADD_POINTER 0
103126
#endif
104127

105128
#if optional_CPP11_OR_GREATER || optional_COMPILER_MSVC_VERSION >= 9
106129
# define optional_HAVE_TYPE_TRAITS 1
107130
# define optional_HAVE_STD_ADD_POINTER 1
131+
#else
132+
# define optional_HAVE_TYPE_TRAITS 0
133+
# define optional_HAVE_STD_ADD_POINTER 0
108134
#endif
109135

110136
#if optional_CPP11_OR_GREATER || optional_COMPILER_MSVC_VERSION >= 11
111137
# define optional_HAVE_ARRAY 1
138+
#else
139+
# define optional_HAVE_ARRAY 0
112140
#endif
113141

114142
#if optional_CPP11_OR_GREATER || optional_COMPILER_MSVC_VERSION >= 12
115143
# define optional_HAVE_CONDITIONAL 1
144+
#else
145+
# define optional_HAVE_CONDITIONAL 0
116146
#endif
117147

118148
#if optional_CPP11_OR_GREATER || optional_COMPILER_MSVC_VERSION >= 14 || (optional_COMPILER_MSVC_VERSION >= 9 && _HAS_CPP0X)
119149
# define optional_HAVE_CONTAINER_DATA_METHOD 1
150+
#else
151+
# define optional_HAVE_CONTAINER_DATA_METHOD 0
120152
#endif
121153

122154
#if optional_CPP11_OR_GREATER || optional_COMPILER_MSVC_VERSION >= 12
123155
# define optional_HAVE_REMOVE_CV 1
156+
#else
157+
# define optional_HAVE_REMOVE_CV 0
124158
#endif
125159

126160
#if optional_CPP11_OR_GREATER || optional_COMPILER_MSVC_VERSION >= 14
127161
# define optional_HAVE_SIZED_TYPES 1
162+
#else
163+
# define optional_HAVE_SIZED_TYPES 0
128164
#endif
129165

130166
// For the rest, consider VC14 as C++11 for variant-lite:
@@ -188,7 +224,7 @@
188224
// in_place: code duplicated in any-lite, optional-lite, variant-lite:
189225
//
190226

191-
#if ! nonstd_lite_HAVE_IN_PLACE_TYPES
227+
#if !defined(nonstd_lite_HAVE_IN_PLACE_TYPES) || !nonstd_lite_HAVE_IN_PLACE_TYPES
192228

193229
namespace nonstd {
194230

@@ -242,7 +278,7 @@ namespace detail {
242278

243279
// C++11 emulation:
244280

245-
#if variant_HAVE_CONDITIONAL
281+
#if defined(variant_HAVE_CONDITIONAL) && variant_HAVE_CONDITIONAL
246282

247283
using std::conditional;
248284

0 commit comments

Comments
 (0)