OnixS C++ CME MDP Conflated TCP Handler  1.3.1
API Documentation
CompilerDetection.h
Go to the documentation of this file.
1 
2 // This is a generated file. Do not edit!
3 
4 #ifndef ONIXS_CONFLATEDTCP_COMPILER_DETECTION_H
5 #define ONIXS_CONFLATEDTCP_COMPILER_DETECTION_H
6 
7 #ifdef __cplusplus
8 # define ONIXS_CONFLATEDTCP_COMPILER_IS_Comeau 0
9 # define ONIXS_CONFLATEDTCP_COMPILER_IS_Intel 0
10 # define ONIXS_CONFLATEDTCP_COMPILER_IS_IntelLLVM 0
11 # define ONIXS_CONFLATEDTCP_COMPILER_IS_PathScale 0
12 # define ONIXS_CONFLATEDTCP_COMPILER_IS_Embarcadero 0
13 # define ONIXS_CONFLATEDTCP_COMPILER_IS_Borland 0
14 # define ONIXS_CONFLATEDTCP_COMPILER_IS_Watcom 0
15 # define ONIXS_CONFLATEDTCP_COMPILER_IS_OpenWatcom 0
16 # define ONIXS_CONFLATEDTCP_COMPILER_IS_SunPro 0
17 # define ONIXS_CONFLATEDTCP_COMPILER_IS_HP 0
18 # define ONIXS_CONFLATEDTCP_COMPILER_IS_Compaq 0
19 # define ONIXS_CONFLATEDTCP_COMPILER_IS_zOS 0
20 # define ONIXS_CONFLATEDTCP_COMPILER_IS_IBMClang 0
21 # define ONIXS_CONFLATEDTCP_COMPILER_IS_XLClang 0
22 # define ONIXS_CONFLATEDTCP_COMPILER_IS_XL 0
23 # define ONIXS_CONFLATEDTCP_COMPILER_IS_VisualAge 0
24 # define ONIXS_CONFLATEDTCP_COMPILER_IS_NVHPC 0
25 # define ONIXS_CONFLATEDTCP_COMPILER_IS_PGI 0
26 # define ONIXS_CONFLATEDTCP_COMPILER_IS_Cray 0
27 # define ONIXS_CONFLATEDTCP_COMPILER_IS_TI 0
28 # define ONIXS_CONFLATEDTCP_COMPILER_IS_FujitsuClang 0
29 # define ONIXS_CONFLATEDTCP_COMPILER_IS_Fujitsu 0
30 # define ONIXS_CONFLATEDTCP_COMPILER_IS_GHS 0
31 # define ONIXS_CONFLATEDTCP_COMPILER_IS_Tasking 0
32 # define ONIXS_CONFLATEDTCP_COMPILER_IS_SCO 0
33 # define ONIXS_CONFLATEDTCP_COMPILER_IS_ARMCC 0
34 # define ONIXS_CONFLATEDTCP_COMPILER_IS_AppleClang 0
35 # define ONIXS_CONFLATEDTCP_COMPILER_IS_ARMClang 0
36 # define ONIXS_CONFLATEDTCP_COMPILER_IS_Clang 0
37 # define ONIXS_CONFLATEDTCP_COMPILER_IS_LCC 0
38 # define ONIXS_CONFLATEDTCP_COMPILER_IS_GNU 0
39 # define ONIXS_CONFLATEDTCP_COMPILER_IS_MSVC 0
40 # define ONIXS_CONFLATEDTCP_COMPILER_IS_ADSP 0
41 # define ONIXS_CONFLATEDTCP_COMPILER_IS_IAR 0
42 # define ONIXS_CONFLATEDTCP_COMPILER_IS_MIPSpro 0
43 
44 #if defined(__COMO__)
45 # undef ONIXS_CONFLATEDTCP_COMPILER_IS_Comeau
46 # define ONIXS_CONFLATEDTCP_COMPILER_IS_Comeau 1
47 
48 #elif defined(__INTEL_COMPILER) || defined(__ICC)
49 # undef ONIXS_CONFLATEDTCP_COMPILER_IS_Intel
50 # define ONIXS_CONFLATEDTCP_COMPILER_IS_Intel 1
51 
52 #elif (defined(__clang__) && defined(__INTEL_CLANG_COMPILER)) || defined(__INTEL_LLVM_COMPILER)
53 # undef ONIXS_CONFLATEDTCP_COMPILER_IS_IntelLLVM
54 # define ONIXS_CONFLATEDTCP_COMPILER_IS_IntelLLVM 1
55 
56 #elif defined(__PATHCC__)
57 # undef ONIXS_CONFLATEDTCP_COMPILER_IS_PathScale
58 # define ONIXS_CONFLATEDTCP_COMPILER_IS_PathScale 1
59 
60 #elif defined(__BORLANDC__) && defined(__CODEGEARC_VERSION__)
61 # undef ONIXS_CONFLATEDTCP_COMPILER_IS_Embarcadero
62 # define ONIXS_CONFLATEDTCP_COMPILER_IS_Embarcadero 1
63 
64 #elif defined(__BORLANDC__)
65 # undef ONIXS_CONFLATEDTCP_COMPILER_IS_Borland
66 # define ONIXS_CONFLATEDTCP_COMPILER_IS_Borland 1
67 
68 #elif defined(__WATCOMC__) && __WATCOMC__ < 1200
69 # undef ONIXS_CONFLATEDTCP_COMPILER_IS_Watcom
70 # define ONIXS_CONFLATEDTCP_COMPILER_IS_Watcom 1
71 
72 #elif defined(__WATCOMC__)
73 # undef ONIXS_CONFLATEDTCP_COMPILER_IS_OpenWatcom
74 # define ONIXS_CONFLATEDTCP_COMPILER_IS_OpenWatcom 1
75 
76 #elif defined(__SUNPRO_CC)
77 # undef ONIXS_CONFLATEDTCP_COMPILER_IS_SunPro
78 # define ONIXS_CONFLATEDTCP_COMPILER_IS_SunPro 1
79 
80 #elif defined(__HP_aCC)
81 # undef ONIXS_CONFLATEDTCP_COMPILER_IS_HP
82 # define ONIXS_CONFLATEDTCP_COMPILER_IS_HP 1
83 
84 #elif defined(__DECCXX)
85 # undef ONIXS_CONFLATEDTCP_COMPILER_IS_Compaq
86 # define ONIXS_CONFLATEDTCP_COMPILER_IS_Compaq 1
87 
88 #elif defined(__IBMCPP__) && defined(__COMPILER_VER__)
89 # undef ONIXS_CONFLATEDTCP_COMPILER_IS_zOS
90 # define ONIXS_CONFLATEDTCP_COMPILER_IS_zOS 1
91 
92 #elif defined(__open_xl__) && defined(__clang__)
93 # undef ONIXS_CONFLATEDTCP_COMPILER_IS_IBMClang
94 # define ONIXS_CONFLATEDTCP_COMPILER_IS_IBMClang 1
95 
96 #elif defined(__ibmxl__) && defined(__clang__)
97 # undef ONIXS_CONFLATEDTCP_COMPILER_IS_XLClang
98 # define ONIXS_CONFLATEDTCP_COMPILER_IS_XLClang 1
99 
100 #elif defined(__IBMCPP__) && !defined(__COMPILER_VER__) && __IBMCPP__ >= 800
101 # undef ONIXS_CONFLATEDTCP_COMPILER_IS_XL
102 # define ONIXS_CONFLATEDTCP_COMPILER_IS_XL 1
103 
104 #elif defined(__IBMCPP__) && !defined(__COMPILER_VER__) && __IBMCPP__ < 800
105 # undef ONIXS_CONFLATEDTCP_COMPILER_IS_VisualAge
106 # define ONIXS_CONFLATEDTCP_COMPILER_IS_VisualAge 1
107 
108 #elif defined(__NVCOMPILER)
109 # undef ONIXS_CONFLATEDTCP_COMPILER_IS_NVHPC
110 # define ONIXS_CONFLATEDTCP_COMPILER_IS_NVHPC 1
111 
112 #elif defined(__PGI)
113 # undef ONIXS_CONFLATEDTCP_COMPILER_IS_PGI
114 # define ONIXS_CONFLATEDTCP_COMPILER_IS_PGI 1
115 
116 #elif defined(_CRAYC)
117 # undef ONIXS_CONFLATEDTCP_COMPILER_IS_Cray
118 # define ONIXS_CONFLATEDTCP_COMPILER_IS_Cray 1
119 
120 #elif defined(__TI_COMPILER_VERSION__)
121 # undef ONIXS_CONFLATEDTCP_COMPILER_IS_TI
122 # define ONIXS_CONFLATEDTCP_COMPILER_IS_TI 1
123 
124 #elif defined(__CLANG_FUJITSU)
125 # undef ONIXS_CONFLATEDTCP_COMPILER_IS_FujitsuClang
126 # define ONIXS_CONFLATEDTCP_COMPILER_IS_FujitsuClang 1
127 
128 #elif defined(__FUJITSU)
129 # undef ONIXS_CONFLATEDTCP_COMPILER_IS_Fujitsu
130 # define ONIXS_CONFLATEDTCP_COMPILER_IS_Fujitsu 1
131 
132 #elif defined(__ghs__)
133 # undef ONIXS_CONFLATEDTCP_COMPILER_IS_GHS
134 # define ONIXS_CONFLATEDTCP_COMPILER_IS_GHS 1
135 
136 #elif defined(__TASKING__)
137 # undef ONIXS_CONFLATEDTCP_COMPILER_IS_Tasking
138 # define ONIXS_CONFLATEDTCP_COMPILER_IS_Tasking 1
139 
140 #elif defined(__SCO_VERSION__)
141 # undef ONIXS_CONFLATEDTCP_COMPILER_IS_SCO
142 # define ONIXS_CONFLATEDTCP_COMPILER_IS_SCO 1
143 
144 #elif defined(__ARMCC_VERSION) && !defined(__clang__)
145 # undef ONIXS_CONFLATEDTCP_COMPILER_IS_ARMCC
146 # define ONIXS_CONFLATEDTCP_COMPILER_IS_ARMCC 1
147 
148 #elif defined(__clang__) && defined(__apple_build_version__)
149 # undef ONIXS_CONFLATEDTCP_COMPILER_IS_AppleClang
150 # define ONIXS_CONFLATEDTCP_COMPILER_IS_AppleClang 1
151 
152 #elif defined(__clang__) && defined(__ARMCOMPILER_VERSION)
153 # undef ONIXS_CONFLATEDTCP_COMPILER_IS_ARMClang
154 # define ONIXS_CONFLATEDTCP_COMPILER_IS_ARMClang 1
155 
156 #elif defined(__clang__)
157 # undef ONIXS_CONFLATEDTCP_COMPILER_IS_Clang
158 # define ONIXS_CONFLATEDTCP_COMPILER_IS_Clang 1
159 
160 #elif defined(__LCC__) && (defined(__GNUC__) || defined(__GNUG__) || defined(__MCST__))
161 # undef ONIXS_CONFLATEDTCP_COMPILER_IS_LCC
162 # define ONIXS_CONFLATEDTCP_COMPILER_IS_LCC 1
163 
164 #elif defined(__GNUC__) || defined(__GNUG__)
165 # undef ONIXS_CONFLATEDTCP_COMPILER_IS_GNU
166 # define ONIXS_CONFLATEDTCP_COMPILER_IS_GNU 1
167 
168 #elif defined(_MSC_VER)
169 # undef ONIXS_CONFLATEDTCP_COMPILER_IS_MSVC
170 # define ONIXS_CONFLATEDTCP_COMPILER_IS_MSVC 1
171 
172 #elif defined(_ADI_COMPILER)
173 # undef ONIXS_CONFLATEDTCP_COMPILER_IS_ADSP
174 # define ONIXS_CONFLATEDTCP_COMPILER_IS_ADSP 1
175 
176 #elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC)
177 # undef ONIXS_CONFLATEDTCP_COMPILER_IS_IAR
178 # define ONIXS_CONFLATEDTCP_COMPILER_IS_IAR 1
179 
180 
181 #endif
182 
183 # if ONIXS_CONFLATEDTCP_COMPILER_IS_GNU
184 
185 # if !((__GNUC__ * 100 + __GNUC_MINOR__) >= 404)
186 # error Unsupported compiler version
187 # endif
188 
189 # if defined(__GNUC__)
190 # define ONIXS_CONFLATEDTCP_COMPILER_VERSION_MAJOR (__GNUC__)
191 # else
192 # define ONIXS_CONFLATEDTCP_COMPILER_VERSION_MAJOR (__GNUG__)
193 # endif
194 # if defined(__GNUC_MINOR__)
195 # define ONIXS_CONFLATEDTCP_COMPILER_VERSION_MINOR (__GNUC_MINOR__)
196 # endif
197 # if defined(__GNUC_PATCHLEVEL__)
198 # define ONIXS_CONFLATEDTCP_COMPILER_VERSION_PATCH (__GNUC_PATCHLEVEL__)
199 # endif
200 
201 # if (__GNUC__ * 100 + __GNUC_MINOR__) >= 407 && __cplusplus >= 201103L
202 # define ONIXS_CONFLATEDTCP_COMPILER_CXX_FINAL 1
203 # else
204 # define ONIXS_CONFLATEDTCP_COMPILER_CXX_FINAL 0
205 # endif
206 
207 # if (__GNUC__ * 100 + __GNUC_MINOR__) >= 407 && __cplusplus >= 201103L
208 # define ONIXS_CONFLATEDTCP_COMPILER_CXX_OVERRIDE 1
209 # else
210 # define ONIXS_CONFLATEDTCP_COMPILER_CXX_OVERRIDE 0
211 # endif
212 
213 # if (__GNUC__ * 100 + __GNUC_MINOR__) >= 406 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
214 # define ONIXS_CONFLATEDTCP_COMPILER_CXX_NOEXCEPT 1
215 # else
216 # define ONIXS_CONFLATEDTCP_COMPILER_CXX_NOEXCEPT 0
217 # endif
218 
219 # if (__GNUC__ * 100 + __GNUC_MINOR__) >= 406 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
220 # define ONIXS_CONFLATEDTCP_COMPILER_CXX_CONSTEXPR 1
221 # else
222 # define ONIXS_CONFLATEDTCP_COMPILER_CXX_CONSTEXPR 0
223 # endif
224 
225 # if (__GNUC__ * 100 + __GNUC_MINOR__) >= 405 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
226 # define ONIXS_CONFLATEDTCP_COMPILER_CXX_EXPLICIT_CONVERSIONS 1
227 # else
228 # define ONIXS_CONFLATEDTCP_COMPILER_CXX_EXPLICIT_CONVERSIONS 0
229 # endif
230 
231 # if (__GNUC__ * 100 + __GNUC_MINOR__) >= 406 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
232 # define ONIXS_CONFLATEDTCP_COMPILER_CXX_NULLPTR 1
233 # else
234 # define ONIXS_CONFLATEDTCP_COMPILER_CXX_NULLPTR 0
235 # endif
236 
237 # if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
238 # define ONIXS_CONFLATEDTCP_COMPILER_CXX_RVALUE_REFERENCES 1
239 # else
240 # define ONIXS_CONFLATEDTCP_COMPILER_CXX_RVALUE_REFERENCES 0
241 # endif
242 
243 # if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
244 # define ONIXS_CONFLATEDTCP_COMPILER_CXX_STATIC_ASSERT 1
245 # else
246 # define ONIXS_CONFLATEDTCP_COMPILER_CXX_STATIC_ASSERT 0
247 # endif
248 
249 # if (__GNUC__ * 100 + __GNUC_MINOR__) >= 408 && __cplusplus >= 201103L
250 # define ONIXS_CONFLATEDTCP_COMPILER_CXX_ALIGNAS 1
251 # else
252 # define ONIXS_CONFLATEDTCP_COMPILER_CXX_ALIGNAS 0
253 # endif
254 
255 # if (__GNUC__ * 100 + __GNUC_MINOR__) >= 407 && __cplusplus >= 201103L
256 # define ONIXS_CONFLATEDTCP_COMPILER_CXX_ALIAS_TEMPLATES 1
257 # else
258 # define ONIXS_CONFLATEDTCP_COMPILER_CXX_ALIAS_TEMPLATES 0
259 # endif
260 
261 # if (__GNUC__ * 100 + __GNUC_MINOR__) >= 408 && __cplusplus >= 201103L
262 # define ONIXS_CONFLATEDTCP_COMPILER_CXX_THREAD_LOCAL 1
263 # else
264 # define ONIXS_CONFLATEDTCP_COMPILER_CXX_THREAD_LOCAL 0
265 # endif
266 
267 # if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
268 # define ONIXS_CONFLATEDTCP_COMPILER_CXX_DEFAULTED_FUNCTIONS 1
269 # else
270 # define ONIXS_CONFLATEDTCP_COMPILER_CXX_DEFAULTED_FUNCTIONS 0
271 # endif
272 
273 # if (__GNUC__ * 100 + __GNUC_MINOR__) >= 405 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
274 # define ONIXS_CONFLATEDTCP_COMPILER_CXX_EXPLICIT_CONVERSIONS 1
275 # else
276 # define ONIXS_CONFLATEDTCP_COMPILER_CXX_EXPLICIT_CONVERSIONS 0
277 # endif
278 
279 # elif ONIXS_CONFLATEDTCP_COMPILER_IS_MSVC
280 
281 # if !(_MSC_VER >= 1600)
282 # error Unsupported compiler version
283 # endif
284 
285  /* _MSC_VER = VVRR */
286 # define ONIXS_CONFLATEDTCP_COMPILER_VERSION_MAJOR (_MSC_VER / 100)
287 # define ONIXS_CONFLATEDTCP_COMPILER_VERSION_MINOR (_MSC_VER % 100)
288 # if defined(_MSC_FULL_VER)
289 # if _MSC_VER >= 1400
290  /* _MSC_FULL_VER = VVRRPPPPP */
291 # define ONIXS_CONFLATEDTCP_COMPILER_VERSION_PATCH (_MSC_FULL_VER % 100000)
292 # else
293  /* _MSC_FULL_VER = VVRRPPPP */
294 # define ONIXS_CONFLATEDTCP_COMPILER_VERSION_PATCH (_MSC_FULL_VER % 10000)
295 # endif
296 # endif
297 # if defined(_MSC_BUILD)
298 # define ONIXS_CONFLATEDTCP_COMPILER_VERSION_TWEAK (_MSC_BUILD)
299 # endif
300 
301 # if _MSC_VER >= 1700
302 # define ONIXS_CONFLATEDTCP_COMPILER_CXX_FINAL 1
303 # else
304 # define ONIXS_CONFLATEDTCP_COMPILER_CXX_FINAL 0
305 # endif
306 
307 # if _MSC_VER >= 1600
308 # define ONIXS_CONFLATEDTCP_COMPILER_CXX_OVERRIDE 1
309 # else
310 # define ONIXS_CONFLATEDTCP_COMPILER_CXX_OVERRIDE 0
311 # endif
312 
313 # if _MSC_VER >= 1900
314 # define ONIXS_CONFLATEDTCP_COMPILER_CXX_NOEXCEPT 1
315 # else
316 # define ONIXS_CONFLATEDTCP_COMPILER_CXX_NOEXCEPT 0
317 # endif
318 
319 # if _MSC_VER >= 1900
320 # define ONIXS_CONFLATEDTCP_COMPILER_CXX_CONSTEXPR 1
321 # else
322 # define ONIXS_CONFLATEDTCP_COMPILER_CXX_CONSTEXPR 0
323 # endif
324 
325 # if _MSC_VER >= 1800
326 # define ONIXS_CONFLATEDTCP_COMPILER_CXX_EXPLICIT_CONVERSIONS 1
327 # else
328 # define ONIXS_CONFLATEDTCP_COMPILER_CXX_EXPLICIT_CONVERSIONS 0
329 # endif
330 
331 # if _MSC_VER >= 1600
332 # define ONIXS_CONFLATEDTCP_COMPILER_CXX_NULLPTR 1
333 # else
334 # define ONIXS_CONFLATEDTCP_COMPILER_CXX_NULLPTR 0
335 # endif
336 
337 # if _MSC_VER >= 1600
338 # define ONIXS_CONFLATEDTCP_COMPILER_CXX_RVALUE_REFERENCES 1
339 # else
340 # define ONIXS_CONFLATEDTCP_COMPILER_CXX_RVALUE_REFERENCES 0
341 # endif
342 
343 # if _MSC_VER >= 1600
344 # define ONIXS_CONFLATEDTCP_COMPILER_CXX_STATIC_ASSERT 1
345 # else
346 # define ONIXS_CONFLATEDTCP_COMPILER_CXX_STATIC_ASSERT 0
347 # endif
348 
349 # if _MSC_VER >= 1900
350 # define ONIXS_CONFLATEDTCP_COMPILER_CXX_ALIGNAS 1
351 # else
352 # define ONIXS_CONFLATEDTCP_COMPILER_CXX_ALIGNAS 0
353 # endif
354 
355 # if _MSC_VER >= 1800
356 # define ONIXS_CONFLATEDTCP_COMPILER_CXX_ALIAS_TEMPLATES 1
357 # else
358 # define ONIXS_CONFLATEDTCP_COMPILER_CXX_ALIAS_TEMPLATES 0
359 # endif
360 
361 # if _MSC_VER >= 1900
362 # define ONIXS_CONFLATEDTCP_COMPILER_CXX_THREAD_LOCAL 1
363 # else
364 # define ONIXS_CONFLATEDTCP_COMPILER_CXX_THREAD_LOCAL 0
365 # endif
366 
367 # if _MSC_VER >= 1800
368 # define ONIXS_CONFLATEDTCP_COMPILER_CXX_DEFAULTED_FUNCTIONS 1
369 # else
370 # define ONIXS_CONFLATEDTCP_COMPILER_CXX_DEFAULTED_FUNCTIONS 0
371 # endif
372 
373 # if _MSC_VER >= 1800
374 # define ONIXS_CONFLATEDTCP_COMPILER_CXX_EXPLICIT_CONVERSIONS 1
375 # else
376 # define ONIXS_CONFLATEDTCP_COMPILER_CXX_EXPLICIT_CONVERSIONS 0
377 # endif
378 
379 # elif ONIXS_CONFLATEDTCP_COMPILER_IS_Clang
380 
381 # if !(((__clang_major__ * 100) + __clang_minor__) >= 301)
382 # error Unsupported compiler version
383 # endif
384 
385 # define ONIXS_CONFLATEDTCP_COMPILER_VERSION_MAJOR (__clang_major__)
386 # define ONIXS_CONFLATEDTCP_COMPILER_VERSION_MINOR (__clang_minor__)
387 # define ONIXS_CONFLATEDTCP_COMPILER_VERSION_PATCH (__clang_patchlevel__)
388 # if defined(_MSC_VER)
389  /* _MSC_VER = VVRR */
390 # define ONIXS_CONFLATEDTCP_SIMULATE_VERSION_MAJOR (_MSC_VER / 100)
391 # define ONIXS_CONFLATEDTCP_SIMULATE_VERSION_MINOR (_MSC_VER % 100)
392 # endif
393 
394 # if ((__clang_major__ * 100) + __clang_minor__) >= 301 && __has_feature(cxx_override_control)
395 # define ONIXS_CONFLATEDTCP_COMPILER_CXX_FINAL 1
396 # else
397 # define ONIXS_CONFLATEDTCP_COMPILER_CXX_FINAL 0
398 # endif
399 
400 # if ((__clang_major__ * 100) + __clang_minor__) >= 301 && __has_feature(cxx_override_control)
401 # define ONIXS_CONFLATEDTCP_COMPILER_CXX_OVERRIDE 1
402 # else
403 # define ONIXS_CONFLATEDTCP_COMPILER_CXX_OVERRIDE 0
404 # endif
405 
406 # if ((__clang_major__ * 100) + __clang_minor__) >= 301 && __has_feature(cxx_noexcept)
407 # define ONIXS_CONFLATEDTCP_COMPILER_CXX_NOEXCEPT 1
408 # else
409 # define ONIXS_CONFLATEDTCP_COMPILER_CXX_NOEXCEPT 0
410 # endif
411 
412 # if ((__clang_major__ * 100) + __clang_minor__) >= 301 && __has_feature(cxx_constexpr)
413 # define ONIXS_CONFLATEDTCP_COMPILER_CXX_CONSTEXPR 1
414 # else
415 # define ONIXS_CONFLATEDTCP_COMPILER_CXX_CONSTEXPR 0
416 # endif
417 
418 # if ((__clang_major__ * 100) + __clang_minor__) >= 301 && __has_feature(cxx_explicit_conversions)
419 # define ONIXS_CONFLATEDTCP_COMPILER_CXX_EXPLICIT_CONVERSIONS 1
420 # else
421 # define ONIXS_CONFLATEDTCP_COMPILER_CXX_EXPLICIT_CONVERSIONS 0
422 # endif
423 
424 # if ((__clang_major__ * 100) + __clang_minor__) >= 301 && __has_feature(cxx_nullptr)
425 # define ONIXS_CONFLATEDTCP_COMPILER_CXX_NULLPTR 1
426 # else
427 # define ONIXS_CONFLATEDTCP_COMPILER_CXX_NULLPTR 0
428 # endif
429 
430 # if ((__clang_major__ * 100) + __clang_minor__) >= 301 && __has_feature(cxx_rvalue_references)
431 # define ONIXS_CONFLATEDTCP_COMPILER_CXX_RVALUE_REFERENCES 1
432 # else
433 # define ONIXS_CONFLATEDTCP_COMPILER_CXX_RVALUE_REFERENCES 0
434 # endif
435 
436 # if ((__clang_major__ * 100) + __clang_minor__) >= 301 && __has_feature(cxx_static_assert)
437 # define ONIXS_CONFLATEDTCP_COMPILER_CXX_STATIC_ASSERT 1
438 # else
439 # define ONIXS_CONFLATEDTCP_COMPILER_CXX_STATIC_ASSERT 0
440 # endif
441 
442 # if ((__clang_major__ * 100) + __clang_minor__) >= 301 && __has_feature(cxx_alignas)
443 # define ONIXS_CONFLATEDTCP_COMPILER_CXX_ALIGNAS 1
444 # else
445 # define ONIXS_CONFLATEDTCP_COMPILER_CXX_ALIGNAS 0
446 # endif
447 
448 # if ((__clang_major__ * 100) + __clang_minor__) >= 301 && __has_feature(cxx_alias_templates)
449 # define ONIXS_CONFLATEDTCP_COMPILER_CXX_ALIAS_TEMPLATES 1
450 # else
451 # define ONIXS_CONFLATEDTCP_COMPILER_CXX_ALIAS_TEMPLATES 0
452 # endif
453 
454 # if ((__clang_major__ * 100) + __clang_minor__) >= 301 && __has_feature(cxx_thread_local)
455 # define ONIXS_CONFLATEDTCP_COMPILER_CXX_THREAD_LOCAL 1
456 # else
457 # define ONIXS_CONFLATEDTCP_COMPILER_CXX_THREAD_LOCAL 0
458 # endif
459 
460 # if ((__clang_major__ * 100) + __clang_minor__) >= 301 && __has_feature(cxx_defaulted_functions)
461 # define ONIXS_CONFLATEDTCP_COMPILER_CXX_DEFAULTED_FUNCTIONS 1
462 # else
463 # define ONIXS_CONFLATEDTCP_COMPILER_CXX_DEFAULTED_FUNCTIONS 0
464 # endif
465 
466 # if ((__clang_major__ * 100) + __clang_minor__) >= 301 && __has_feature(cxx_explicit_conversions)
467 # define ONIXS_CONFLATEDTCP_COMPILER_CXX_EXPLICIT_CONVERSIONS 1
468 # else
469 # define ONIXS_CONFLATEDTCP_COMPILER_CXX_EXPLICIT_CONVERSIONS 0
470 # endif
471 
472 # else
473 # error Unsupported compiler
474 # endif
475 
476 # if defined(ONIXS_CONFLATEDTCP_COMPILER_CXX_FINAL) && ONIXS_CONFLATEDTCP_COMPILER_CXX_FINAL
477 # define ONIXS_CONFLATEDTCP_FINAL final
478 # else
479 # define ONIXS_CONFLATEDTCP_FINAL
480 # endif
481 
482 
483 # if defined(ONIXS_CONFLATEDTCP_COMPILER_CXX_OVERRIDE) && ONIXS_CONFLATEDTCP_COMPILER_CXX_OVERRIDE
484 # define ONIXS_CONFLATEDTCP_OVERRIDE override
485 # else
486 # define ONIXS_CONFLATEDTCP_OVERRIDE
487 # endif
488 
489 
490 # if defined(ONIXS_CONFLATEDTCP_COMPILER_CXX_NOEXCEPT) && ONIXS_CONFLATEDTCP_COMPILER_CXX_NOEXCEPT
491 # define ONIXS_CONFLATEDTCP_NOEXCEPT noexcept
492 # define ONIXS_CONFLATEDTCP_NOEXCEPT_EXPR(X) noexcept(X)
493 # else
494 # define ONIXS_CONFLATEDTCP_NOEXCEPT
495 # define ONIXS_CONFLATEDTCP_NOEXCEPT_EXPR(X)
496 # endif
497 
498 
499 # if defined(ONIXS_CONFLATEDTCP_COMPILER_CXX_CONSTEXPR) && ONIXS_CONFLATEDTCP_COMPILER_CXX_CONSTEXPR
500 # define ONIXS_CONFLATEDTCP_CONSTEXPR constexpr
501 # else
502 # define ONIXS_CONFLATEDTCP_CONSTEXPR
503 # endif
504 
505 
506 # if defined(ONIXS_CONFLATEDTCP_COMPILER_CXX_NULLPTR) && ONIXS_CONFLATEDTCP_COMPILER_CXX_NULLPTR
507 # define ONIXS_CONFLATEDTCP_NULLPTR nullptr
508 # elif ONIXS_CONFLATEDTCP_COMPILER_IS_GNU
509 # define ONIXS_CONFLATEDTCP_NULLPTR __null
510 # else
511 # define ONIXS_CONFLATEDTCP_NULLPTR 0
512 # endif
513 
514 # if defined(ONIXS_CONFLATEDTCP_COMPILER_CXX_STATIC_ASSERT) && ONIXS_CONFLATEDTCP_COMPILER_CXX_STATIC_ASSERT
515 # define ONIXS_CONFLATEDTCP_STATIC_ASSERT(X) static_assert(X, #X)
516 # define ONIXS_CONFLATEDTCP_STATIC_ASSERT_MSG(X, MSG) static_assert(X, MSG)
517 # else
518 # define ONIXS_CONFLATEDTCP_STATIC_ASSERT_JOIN(X, Y) ONIXS_CONFLATEDTCP_STATIC_ASSERT_JOIN_IMPL(X, Y)
519 # define ONIXS_CONFLATEDTCP_STATIC_ASSERT_JOIN_IMPL(X, Y) X##Y
520 template<bool> struct ONIXS_CONFLATEDTCPStaticAssert;
521 template<> struct ONIXS_CONFLATEDTCPStaticAssert<true>{};
522 # define ONIXS_CONFLATEDTCP_STATIC_ASSERT(X) enum { ONIXS_CONFLATEDTCP_STATIC_ASSERT_JOIN(ONIXS_CONFLATEDTCPStaticAssertEnum, __LINE__) = sizeof(ONIXS_CONFLATEDTCPStaticAssert<X>) }
523 # define ONIXS_CONFLATEDTCP_STATIC_ASSERT_MSG(X, MSG) enum { ONIXS_CONFLATEDTCP_STATIC_ASSERT_JOIN(ONIXS_CONFLATEDTCPStaticAssertEnum, __LINE__) = sizeof(ONIXS_CONFLATEDTCPStaticAssert<X>) }
524 # endif
525 
526 
527 # if defined(ONIXS_CONFLATEDTCP_COMPILER_CXX_ALIGNAS) && ONIXS_CONFLATEDTCP_COMPILER_CXX_ALIGNAS
528 # define ONIXS_CONFLATEDTCP_ALIGNAS(X) alignas(X)
529 # elif ONIXS_CONFLATEDTCP_COMPILER_IS_GNU || ONIXS_CONFLATEDTCP_COMPILER_IS_Clang || ONIXS_CONFLATEDTCP_COMPILER_IS_AppleClang
530 # define ONIXS_CONFLATEDTCP_ALIGNAS(X) __attribute__ ((__aligned__(X)))
531 # elif ONIXS_CONFLATEDTCP_COMPILER_IS_MSVC
532 # define ONIXS_CONFLATEDTCP_ALIGNAS(X) __declspec(align(X))
533 # else
534 # define ONIXS_CONFLATEDTCP_ALIGNAS(X)
535 # endif
536 
537 
538 # if defined(ONIXS_CONFLATEDTCP_COMPILER_CXX_THREAD_LOCAL) && ONIXS_CONFLATEDTCP_COMPILER_CXX_THREAD_LOCAL
539 # define ONIXS_CONFLATEDTCP_THREAD_LOCAL thread_local
540 # elif ONIXS_CONFLATEDTCP_COMPILER_IS_GNU || ONIXS_CONFLATEDTCP_COMPILER_IS_Clang || ONIXS_CONFLATEDTCP_COMPILER_IS_AppleClang
541 # define ONIXS_CONFLATEDTCP_THREAD_LOCAL __thread
542 # elif ONIXS_CONFLATEDTCP_COMPILER_IS_MSVC
543 # define ONIXS_CONFLATEDTCP_THREAD_LOCAL __declspec(thread)
544 # else
545 // ONIXS_CONFLATEDTCP_THREAD_LOCAL not defined for this configuration.
546 # endif
547 
548 #endif
549 
550 #endif