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