iutest  1.17.1.0
iutest_config.hpp
[詳解]
1 //======================================================================
2 //-----------------------------------------------------------------------
13 //-----------------------------------------------------------------------
14 //======================================================================
15 #ifndef INCG_IRIS_IUTEST_CONFIG_HPP_F0151607_0D9D_4055_B94D_ED4A0FFA748B_
16 #define INCG_IRIS_IUTEST_CONFIG_HPP_F0151607_0D9D_4055_B94D_ED4A0FFA748B_
17 
18 //======================================================================
19 // include
20 
28 #if !defined(IUTEST_HAS_LIB)
30 # if defined(IUTEST_NO_LIB)
31 # define IUTEST_HAS_LIB 0
32 # elif defined(IUTEST_USE_LIB) || defined(IUTEST_AUTO_LINK)
33 # define IUTEST_HAS_LIB 1
34 # endif
35 #endif
36 
37 #if !defined(IUTEST_HAS_LIB)
38 # define IUTEST_HAS_LIB 0
39 #endif
40 
47 #if !defined(IUTEST_VPRINTF)
48 # define IUTEST_VPRINTF(f, a) vprintf(f, a)
49 #endif
50 
51 #if !defined(IUTEST_HAS_REPORT_SKIPPED)
52 # define IUTEST_HAS_REPORT_SKIPPED 1
53 #endif
54 
66 #if !defined(IUTEST_HAS_PARAM_METHOD_TEST)
67 # if !defined(IUTEST_NO_VARIADIC_MACROS)
69 # define IUTEST_HAS_PARAM_METHOD_TEST 1
70 # else
71 # define IUTEST_HAS_PARAM_METHOD_TEST 0
72 # endif
73 #endif
74 
75 #if !defined(IUTEST_HAS_PARAM_TEST)
76 # define IUTEST_HAS_PARAM_TEST 1
77 #endif
78 
79 #if !defined(IUTEST_HAS_TYPED_TEST)
80 # if !defined(IUTEST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
82 # define IUTEST_HAS_TYPED_TEST 1
83 # else
84 # define IUTEST_HAS_TYPED_TEST 0
85 # endif
86 #endif
87 
88 #if !defined(IUTEST_HAS_TYPED_TEST_P)
89 # if IUTEST_HAS_TYPED_TEST && !defined(IUTEST_NO_VARIADIC_MACROS) \
91  && !defined(IUTEST_NO_TEMPLATE_TEMPLATES)
92 # define IUTEST_HAS_TYPED_TEST_P 1
93 # else
94 # define IUTEST_HAS_TYPED_TEST_P 0
95 # endif
96 #endif
97 
98 #if !defined(IUTEST_TYPED_TEST_P_STRICT)
99 # define IUTEST_TYPED_TEST_P_STRICT 1
101 #endif
102 
103 #if !defined(IUTEST_HAS_IGNORE_TEST)
104 
108 # if defined(IUTEST_NO_TWO_PHASE_NAME_LOOKUP)
109 # define IUTEST_HAS_IGNORE_TEST 1
110 # else
111 # define IUTEST_HAS_IGNORE_TEST 0
112 # endif
113 #endif
114 
115 #if !defined(IUTEST_HAS_MATCHERS)
116 
119 # if !defined(IUTEST_NO_SFINAE) && !defined(IUTEST_NO_FUNCTION_TEMPLATE_ORDERING) \
120  && !defined(IUTEST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
121 # define IUTEST_HAS_MATCHERS 1
122 # else
123 # define IUTEST_HAS_MATCHERS 0
124 # endif
125 #endif
126 
127 #if !defined(IUTEST_HAS_ARITHMETIC_EXPRESSION_DECOMPOSE)
128 
132 # if 1 // IUTEST_HAS_DECLTYPE
133 # define IUTEST_HAS_ARITHMETIC_EXPRESSION_DECOMPOSE 1
134 # else
135 # define IUTEST_HAS_ARITHMETIC_EXPRESSION_DECOMPOSE 0
136 # endif
137 #endif
138 
139 #if !defined(IUTEST_HAS_BITWISE_EXPRESSION_DECOMPOSE)
140 
143 # if IUTEST_HAS_DECLTYPE
144 # define IUTEST_HAS_BITWISE_EXPRESSION_DECOMPOSE 1
145 # else
146 # define IUTEST_HAS_BITWISE_EXPRESSION_DECOMPOSE 0
147 # endif
148 #endif
149 
150 #if !defined(IUTEST_HAS_VALUESGEN)
151 # if IUTEST_HAS_PARAM_TEST
153 # define IUTEST_HAS_VALUESGEN 1
154 # else
155 # define IUTEST_HAS_VALUESGEN 0
156 # endif
157 #endif
158 
159 #if !defined(IUTEST_HAS_RANDOMVALUES)
160 # if IUTEST_HAS_PARAM_TEST && IUTEST_HAS_VALUESGEN
162 # define IUTEST_HAS_RANDOMVALUES 1
163 # else
164 # define IUTEST_HAS_RANDOMVALUES 0
165 # endif
166 #endif
167 
168 #if IUTEST_HAS_RANDOMVALUES
169 # if !IUTEST_HAS_PARAM_TEST || !IUTEST_HAS_VALUESGEN
170 # undef IUTEST_HAS_RANDOMVALUES
171 # define IUTEST_HAS_RANDOMVALUES 0
172 # endif
173 #endif
174 
175 #if !defined(IUTEST_HAS_COMBINE)
176 # if IUTEST_HAS_PARAM_TEST && IUTEST_HAS_TUPLE
178 # define IUTEST_HAS_COMBINE 1
179 # endif
180 #else
181 # if IUTEST_HAS_COMBINE && !IUTEST_HAS_TUPLE
182 # undef IUTEST_HAS_COMBINE
183 # endif
184 #endif
185 
186 #if !defined(IUTEST_HAS_COMBINE)
187 # define IUTEST_HAS_COMBINE 0
188 #endif
189 
190 #if !defined(IUTEST_HAS_PAIRWISE)
191 # if IUTEST_HAS_PARAM_TEST && IUTEST_HAS_TUPLE
193 # define IUTEST_HAS_PAIRWISE 1
194 # endif
195 #else
196 # if IUTEST_HAS_PAIRWISE && !IUTEST_HAS_TUPLE
197 # undef IUTEST_HAS_PAIRWISE
198 # endif
199 #endif
200 
201 #if !defined(IUTEST_HAS_PAIRWISE)
202 # define IUTEST_HAS_PAIRWISE 0
203 #endif
204 
205 #if !defined(IUTEST_HAS_CONCAT)
206 # define IUTEST_HAS_CONCAT 1
208 #endif
209 
210 #if !defined(IUTEST_HAS_CSVPARAMS)
211 # if IUTEST_HAS_PARAM_TEST && IUTEST_HAS_STRINGSTREAM
213 # define IUTEST_HAS_CSVPARAMS 1
214 # else
215 # define IUTEST_HAS_CSVPARAMS 0
216 # endif
217 #endif
218 
219 #if !defined(IUTEST_HAS_VARIADIC_VALUES)
220 # if IUTEST_HAS_PARAM_TEST && IUTEST_HAS_VARIADIC_TEMPLATES && IUTEST_HAS_VARIADIC_TUPLES
222 # define IUTEST_HAS_VARIADIC_VALUES 1
223 # else
224 # define IUTEST_HAS_VARIADIC_VALUES 0
225 # endif
226 #endif
227 
228 #if !defined(IUTEST_HAS_VARIADIC_COMBINE)
229 # if IUTEST_HAS_COMBINE && IUTEST_HAS_VARIADIC_TEMPLATES && IUTEST_HAS_VARIADIC_TUPLES
231 # define IUTEST_HAS_VARIADIC_COMBINE 1
232 # else
233 # define IUTEST_HAS_VARIADIC_COMBINE 0
234 # endif
235 #endif
236 
237 #if !defined(IUTEST_HAS_VARIADIC_PAIRWISE)
238 # if IUTEST_HAS_PAIRWISE && IUTEST_HAS_VARIADIC_TEMPLATES && IUTEST_HAS_VARIADIC_TUPLES
240 # define IUTEST_HAS_VARIADIC_PAIRWISE 1
241 # else
242 # define IUTEST_HAS_VARIADIC_PAIRWISE 0
243 # endif
244 #endif
245 
246 #if !defined(IUTEST_HAS_MATCHER_ELEMENTSARE)
247 # if IUTEST_HAS_TUPLE && !defined(IUTEST_NO_SFINAE)
249 # define IUTEST_HAS_MATCHER_ELEMENTSARE IUTEST_HAS_MATCHERS
250 # else
251 # define IUTEST_HAS_MATCHER_ELEMENTSARE 0
252 # endif
253 #endif
254 
255 #if !defined(IUTEST_HAS_MATCHER_ELEMENTSAREARRAYFORWARD)
256 # if IUTEST_HAS_TUPLE && !defined(IUTEST_NO_SFINAE)
258 # define IUTEST_HAS_MATCHER_ELEMENTSAREARRAYFORWARD IUTEST_HAS_MATCHERS
259 # else
260 # define IUTEST_HAS_MATCHER_ELEMENTSAREARRAYFORWARD 0
261 # endif
262 #endif
263 
264 #if !defined(IUTEST_HAS_REGEX)
265 # if IUTEST_HAS_CXX_HDR_REGEX
267 # define IUTEST_HAS_REGEX 1
268 # else
269 # define IUTEST_HAS_REGEX 0
270 # endif
271 #endif
272 
273 #if !defined(IUTEST_HAS_MATCHER_VARIADIC)
274 # define IUTEST_HAS_MATCHER_VARIADIC IUTEST_HAS_VARIADIC_TEMPLATES
276 #endif
277 
278 #if !defined(IUTEST_HAS_MATCHER_REGEX)
279 # if IUTEST_HAS_CXX_HDR_REGEX && IUTEST_HAS_REGEX
281 # define IUTEST_HAS_MATCHER_REGEX IUTEST_HAS_MATCHERS
282 # else
283 # define IUTEST_HAS_MATCHER_REGEX 0
284 # endif
285 #endif
286 
287 #if !defined(IUTEST_HAS_MATCHER_ALLOF_AND_ANYOF)
288 # if IUTEST_HAS_TUPLE
290 # define IUTEST_HAS_MATCHER_ALLOF_AND_ANYOF IUTEST_HAS_MATCHERS
291 # else
292 # define IUTEST_HAS_MATCHER_ALLOF_AND_ANYOF 0
293 # endif
294 #endif
295 
296 #if !defined(IUTEST_HAS_MATCHER_FLOATINGPOINT_NEAR)
297 # define IUTEST_HAS_MATCHER_FLOATINGPOINT_NEAR 1
299 #endif
300 
301 #if !defined(IUTEST_HAS_MATCHER_EACH)
302 # define IUTEST_HAS_MATCHER_EACH 1
304 #endif
305 
306 #if !defined(IUTEST_HAS_MATCHER_POINTWISE)
307 # define IUTEST_HAS_MATCHER_POINTWISE 1
309 #endif
310 
311 #if !defined(IUTEST_USE_THROW_ON_ASSERTION_FAILURE)
312 
316 # if defined(IUTEST_USE_THROW_ON_ASSERT_FAILURE)
317 # define IUTEST_USE_THROW_ON_ASSERTION_FAILURE IUTEST_USE_THROW_ON_ASSERT_FAILURE
318 # else
319 # if !defined(IUTEST_NO_VOID_RETURNS)
320 # define IUTEST_USE_THROW_ON_ASSERTION_FAILURE 0
321 # else
322 # define IUTEST_USE_THROW_ON_ASSERTION_FAILURE 1
323 # endif
324 # endif
325 #endif
326 
327 #if !IUTEST_HAS_EXCEPTIONS && IUTEST_USE_THROW_ON_ASSERTION_FAILURE
328 # undef IUTEST_USE_THROW_ON_ASSERTION_FAILURE
329 # define IUTEST_USE_THROW_ON_ASSERTION_FAILURE 0
330 #endif
331 
332 #if !defined(IUTEST_HAS_LAMBDA_STATEMENTS)
333 # if IUTEST_HAS_LAMBDA && !defined(IUTEST_NO_LAMBDA_SCOPE_RESOLUTION)
335 # define IUTEST_HAS_LAMBDA_STATEMENTS 1
336 # else
337 # define IUTEST_HAS_LAMBDA_STATEMENTS 0
338 # endif
339 #endif
340 
341 #if !defined(IUTEST_HAS_SPI_LAMBDA_SUPPORT)
342 # define IUTEST_HAS_SPI_LAMBDA_SUPPORT IUTEST_HAS_LAMBDA_STATEMENTS
344 #endif
345 
346 #if !defined(IUTEST_HAS_CATCH_SEH_EXCEPTION_ASSERTION)
347 # if IUTEST_HAS_SEH && IUTEST_HAS_LAMBDA_STATEMENTS
349 # define IUTEST_HAS_CATCH_SEH_EXCEPTION_ASSERTION 1
350 # else
351 # define IUTEST_HAS_CATCH_SEH_EXCEPTION_ASSERTION 0
352 # endif
353 #endif
354 
355 #if !defined(IUTEST_HAS_GENRAND)
356 # define IUTEST_HAS_GENRAND 1
357 #endif
358 
359 #if !defined(IUTEST_HAS_PACKAGE)
360 # if !defined(IUTEST_NO_ARGUMENT_DEPENDENT_LOOKUP)
362 # define IUTEST_HAS_PACKAGE 1
363 # else
364 # define IUTEST_HAS_PACKAGE 0
365 # endif
366 #endif
367 
368 // peep
369 #if !defined(IUTEST_HAS_PEEP)
370 # define IUTEST_HAS_PEEP 1
372 #endif
373 
374 #if !defined(IUTEST_HAS_PEEP_FUNC)
375 # if IUTEST_EXPLICIT_INSTANTIATION_ACCESS_PRIVATE_MEMBER_FUNCTION
377 # define IUTEST_HAS_PEEP_FUNC IUTEST_HAS_PEEP
378 # else
379 # define IUTEST_HAS_PEEP_FUNC 0
380 # endif
381 #endif
382 
383 #if !defined(IUTEST_HAS_PEEP_STATIC_FUNC)
384 # if IUTEST_EXPLICIT_INSTANTIATION_ACCESS_PRIVATE_STATIC_MEMBER_FUNCTION
386 # define IUTEST_HAS_PEEP_STATIC_FUNC IUTEST_HAS_PEEP
387 # else
388 # define IUTEST_HAS_PEEP_STATIC_FUNC 0
389 # endif
390 #endif
391 
392 #if !defined(IUTEST_HAS_PEEP_CLASS)
393 # if !defined(IUTEST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
395 # define IUTEST_HAS_PEEP_CLASS IUTEST_HAS_PEEP
396 # else
397 # define IUTEST_HAS_PEEP_CLASS 0
398 # endif
399 #endif
400 
401 #if !defined(IUTEST_HAS_STATIC_ASSERT_TYPEEQ)
402 #if !defined(IUTEST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
404 # define IUTEST_HAS_STATIC_ASSERT_TYPEEQ 1
405 # else
406 # define IUTEST_HAS_STATIC_ASSERT_TYPEEQ 0
407 # endif
408 #endif
409 
410 #if !defined(IUTEST_HAS_PRINT_TO)
411 # if !defined(IUTEST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \
413  && !defined(IUTEST_NO_FUNCTION_TEMPLATE_ORDERING) \
414  && !defined(IUTEST_NO_ARGUMENT_DEPENDENT_LOOKUP)
415 # define IUTEST_HAS_PRINT_TO 1
416 # else
417 # define IUTEST_HAS_PRINT_TO 0
418 # endif
419 #endif
420 
421 #if !defined(IUTEST_HAS_VARIADIC_PRED)
422 # if IUTEST_HAS_VARIADIC_TEMPLATES && !defined(IUTEST_NO_VARIADIC_MACROS)
424 # define IUTEST_HAS_VARIADIC_PRED 1
425 # else
426 # define IUTEST_HAS_VARIADIC_PRED 0
427 # endif
428 #endif
429 
430 #if !defined(IUTEST_HAS_ASSERTION_RETURN)
431 # if !defined(IUTEST_NO_FUNCTION_TEMPLATE_ORDERING)
433 # define IUTEST_HAS_ASSERTION_RETURN 1
434 # else
435 # define IUTEST_HAS_ASSERTION_RETURN 0
436 # endif
437 #endif
438 
439 #if !defined(IUTEST_HAS_ASSERTION_NOEQUALTO_OBJECT)
440 # if !defined(IUTEST_NO_FUNCTION_TEMPLATE_ORDERING) \
442  && !defined(IUTEST_NO_ARGUMENT_DEPENDENT_LOOKUP)
443 # define IUTEST_HAS_ASSERTION_NOEQUALTO_OBJECT 1
444 # else
445 # define IUTEST_HAS_ASSERTION_NOEQUALTO_OBJECT 0
446 # endif
447 #endif
448 
449 #if !defined(IUTEST_HAS_TESTNAME_ALIAS)
450 # if !defined(IUTEST_NO_VARIADIC_MACROS)
452 # define IUTEST_HAS_TESTNAME_ALIAS 1
453 # else
454 # define IUTEST_HAS_TESTNAME_ALIAS 0
455 # endif
456 #endif
457 
458 #if !defined(IUTEST_HAS_TESTNAME_ALIAS_JP)
459 # if IUTEST_HAS_TESTNAME_ALIAS && !defined(__CUDACC__) && !defined(IUTEST_OS_NACL)
461 # define IUTEST_HAS_TESTNAME_ALIAS_JP 1
462 # else
463 # define IUTEST_HAS_TESTNAME_ALIAS_JP 0
464 # endif
465 #endif
466 
467 #if !defined(IUTEST_HAS_TESTFIXTURE_ALIAS_BY_TUPLE)
468 # define IUTEST_HAS_TESTFIXTURE_ALIAS_BY_TUPLE IUTEST_HAS_TESTNAME_ALIAS
470 #endif
471 
472 #if !defined(IUTEST_HAS_AUTOFIXTURE_PARAM_TEST)
473 # if IUTEST_HAS_IF_EXISTS || !defined(IUTEST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
475 # define IUTEST_HAS_AUTOFIXTURE_PARAM_TEST IUTEST_HAS_PARAM_TEST
476 # else
477 # define IUTEST_HAS_AUTOFIXTURE_PARAM_TEST 0
478 # endif
479 #endif
480 
481 #if !defined(IUTEST_HAS_ANY_PARAM_TEST)
482 # if IUTEST_HAS_TESTNAME_ALIAS
484 # define IUTEST_HAS_ANY_PARAM_TEST IUTEST_HAS_PARAM_TEST
485 # else
486 # define IUTEST_HAS_ANY_PARAM_TEST 0
487 # endif
488 #endif
489 
490 #if !defined(IUTEST_TYPED_TEST_APPEND_TYPENAME)
491 # define IUTEST_TYPED_TEST_APPEND_TYPENAME 0
493 #endif
494 
495 #if !defined(IUTEST_HAS_TYPED_TEST_APPEND_TYPENAME)
496 # define IUTEST_HAS_TYPED_TEST_APPEND_TYPENAME IUTEST_TYPED_TEST_APPEND_TYPENAME
498 #endif
499 
500 #if !defined(IUTEST_HAS_PARAM_TEST_PARAM_NAME_GENERATOR)
501 # if !defined(IUTEST_NO_VARIADIC_MACROS)
503 # define IUTEST_HAS_PARAM_TEST_PARAM_NAME_GENERATOR 1
504 # else
505 # define IUTEST_HAS_PARAM_TEST_PARAM_NAME_GENERATOR 0
506 # endif
507 #endif
508 
509 #if !defined(IUTEST_HAS_LONG_DOUBLE)
510 # if IUTEST_HAS_INT128
511 # define IUTEST_HAS_LONG_DOUBLE 1
512 # elif defined(__SIZEOF_FLOAT128__) && (__SIZEOF_FLOAT128__ <= 8)
513 # define IUTEST_HAS_LONG_DOUBLE 1
514 # endif
515 #endif
516 
517 #if !defined(IUTEST_HAS_LONG_DOUBLE)
518 # define IUTEST_HAS_LONG_DOUBLE 0
519 #endif
520 
532 #if !defined(IUTEST_HAS_FOPEN)
533 # define IUTEST_HAS_FOPEN 1
534 #endif
535 
536 #if !defined(IUTEST_HAS_FILE_STAT)
537 # define IUTEST_HAS_FILE_STAT 0
538 #endif
539 
540 #if !defined(IUTEST_HAS_FILENO)
541 # define IUTEST_HAS_FILENO 0
542 #endif
543 
545 #if !defined(IUTEST_USE_CXX_FILESYSTEM)
546 # if IUTEST_HAS_STD_FILESYSTEM
547 # if defined(_MSC_VER)
548 # define IUTEST_USE_CXX_FILESYSTEM 1
549 # endif
550 # endif
551 #endif
552 
553 #if !defined(IUTEST_USE_CXX_FILESYSTEM)
554 # define IUTEST_USE_CXX_FILESYSTEM 0
555 #endif
556 
568 #if !defined(IUTEST_HAS_CTIME)
570 # if defined(IUTEST_OS_WINDOWS_MOBILE)
571 # define IUTEST_HAS_CTIME 0
572 # else
573 # define IUTEST_HAS_CTIME 1
574 # endif
575 #endif
576 
578 #if !defined(IUTEST_HAS_GETTIMEOFDAY)
579 # if IUTEST_HAS_HDR_SYSTIME
580 # define IUTEST_HAS_GETTIMEOFDAY 1
581 # endif
582 #endif
583 
584 #if !defined(IUTEST_HAS_GETTIMEOFDAY)
585 # define IUTEST_HAS_GETTIMEOFDAY 0
586 #endif
587 
589 #if !defined(IUTEST_HAS_CLOCK)
590 # if defined(CLOCKS_PER_SEC)
591 # define IUTEST_HAS_CLOCK 1
592 # endif
593 #endif
594 
595 #if !defined(IUTEST_HAS_CLOCK)
596 # define IUTEST_HAS_CLOCK 0
597 #endif
598 
609 #if !defined(IUTEST_HAS_CHAR16_T_PRINTABLE)
611 # if defined(_MSC_VER) || IUTEST_HAS_CXX_HDR_CODECVT || IUTEST_HAS_CXX_HDR_CUCHAR
612 # define IUTEST_HAS_CHAR16_T_PRINTABLE IUTEST_HAS_CHAR16_T
613 # endif
614 #endif
615 
616 #if !defined(IUTEST_HAS_CHAR16_T_PRINTABLE)
617 # define IUTEST_HAS_CHAR16_T_PRINTABLE 0
618 #endif
619 
621 #if !defined(IUTEST_HAS_CHAR32_T_PRINTABLE)
622 # if defined(_MSC_VER) || IUTEST_HAS_CXX_HDR_CODECVT || IUTEST_HAS_CXX_HDR_CUCHAR
623 # define IUTEST_HAS_CHAR32_T_PRINTABLE IUTEST_HAS_CHAR32_T
624 # endif
625 #endif
626 
627 #if !defined(IUTEST_HAS_CHAR32_T_PRINTABLE)
628 # define IUTEST_HAS_CHAR32_T_PRINTABLE 0
629 #endif
630 
641 #if !defined(IUTEST_CHECK_STRICT)
643 # define IUTEST_CHECK_STRICT 1
644 #endif
645 
646 #if !defined(IUTEST_HAS_MINIDUMP)
647 # if defined(_MSC_VER) && _MSC_VER >= 1310
649 # if IUTEST_HAS_EXCEPTIONS && IUTEST_HAS_SEH \
650  && !defined(IUTEST_OS_WINDOWS_PHONE) && !defined(IUTEST_OS_WINDOWS_RT)
651 # define IUTEST_HAS_MINIDUMP 1
652 # endif
653 # endif
654 #endif
655 
656 #if !defined(IUTEST_HAS_MINIDUMP)
657 # define IUTEST_HAS_MINIDUMP 0
658 #endif
659 
660 #if !defined(IUTEST_HAS_SOCKET)
661 # if defined(IUTEST_OS_WINDOWS) && !defined(IUTEST_OS_WINDOWS_RT)
663 # if (!defined(_MSC_VER) || _MSC_VER >= 1310) && (defined(_WIN32_WINNT) && _WIN32_WINNT >= 0x501)
664 # define IUTEST_HAS_SOCKET 1
665 # endif
666 # elif defined(IUTEST_OS_CYGWIN)
667 # if (defined(_POSIX_C_SOURCE) && _POSIX_C_SOURCE >= 1) \
668  || (defined(_XOPEN_SOURCE) && _XOPEN_SOURCE) \
669  || (defined(_POSIX_SOURCE) && _POSIX_SOURCE)
670 # define IUTEST_HAS_SOCKET 1
671 # endif
672 # elif defined(IUTEST_OS_LINUX)
673 # define IUTEST_HAS_SOCKET 1
674 # endif
675 #endif
676 
677 #if !defined(IUTEST_HAS_SOCKET)
678 # define IUTEST_HAS_SOCKET 0
679 #endif
680 
684 #if !defined(IUTEST_HAS_STREAM_BUFFER)
685 # define IUTEST_HAS_STREAM_BUFFER 1
686 #endif
687 
688 
693 #if !defined(IUTEST_USE_OWN_LIST)
694 # if defined(IUTEST_NO_TEMPLATE_TEMPLATES)
695 # define IUTEST_USE_OWN_LIST 1
696 # endif
697 #endif
698 
699 #if !defined(IUTEST_USE_OWN_LIST)
700 # define IUTEST_USE_OWN_LIST 0
701 #endif
702 
706 #if !defined(IUTEST_USE_OWN_STRING_VIEW)
707 # if !IUTEST_HAS_CXX_HDR_STRING_VIEW
708 # define IUTEST_USE_OWN_STRING_VIEW 1
709 # endif
710 #endif
711 
712 #if !defined(IUTEST_USE_OWN_STRING_VIEW)
713 # define IUTEST_USE_OWN_STRING_VIEW 0
714 #endif
715 
716 
727 #if !defined(IUTEST_HAS_STREAM_RESULT)
728 # if IUTEST_HAS_SOCKET
730 # define IUTEST_HAS_STREAM_RESULT 1
731 # else
732 # define IUTEST_HAS_STREAM_RESULT 0
733 # endif
734 #endif
735 
740 // Doxygen 用
741 #ifdef IUTEST_BUILD_DOXYGEN
742 
748 #define IUTEST_GetMillisec()
749 
750 
766 #define IUTEST_USE_EXTERNAL_TR1_TUPLE 0
767 
774 #define IUTEST_USE_EXTERNAL_STD_TUPLE 0
775 
779 #define IUTEST_USE_OWN_IS_MEMBER_FUNCTION_POINTER 1
780 
785 #define IUTEST_USE_RANDOM_ENGINE_TYPENAME ::std::default_random_engine
786 
787 #define IUTEST_NO_GETENV
788 #define IUTEST_NO_SETENV
789 #define IUTEST_NO_PUTENV
790 #define IUTEST_NO_GETCWD
791 
792 #define IUTEST_NO_RECORDPROPERTY_OUTSIDE_TESTMETHOD_LIFESPAN
794 
799 #define IUTEST_USE_LIB
800 #define IUTEST_AUTO_LINK
801 #define IUTEST_USE_MAIN
802 
803 #endif
804 
814 // include only
815 #if IUTEST_HAS_LIB
816 # define IUTEST_IPP_INLINE
817 #else
818 # define IUTEST_IPP_INLINE inline
819 #endif
820 
821 // auto link
822 #if IUTEST_HAS_LIB && defined(IUTEST_AUTO_LINK)
823 
824 #if defined(_MSC_VER)
825 
826 #if defined(_MT) || defined(__MT__)
827 # if defined(_DLL)
828 # define IUTEST_LIB_THREAD_OPT "md"
829 # else
830 # define IUTEST_LIB_THREAD_OPT "mt"
831 # endif
832 #else
833 # define IUTEST_LIB_THREAD_OPT ""
834 #endif
835 
836 #if _MSC_VER == 1400
837 # define IUTEST_LIB_TOOLSET "vc80"
838 #elif _MSC_VER == 1500
839 # define IUTEST_LIB_TOOLSET "vc90"
840 #elif _MSC_VER == 1600
841 # define IUTEST_LIB_TOOLSET "vc100"
842 #elif _MSC_VER == 1700
843 # define IUTEST_LIB_TOOLSET "vc110"
844 #elif _MSC_VER == 1800
845 # define IUTEST_LIB_TOOLSET "vc120"
846 #elif _MSC_VER == 1900
847 # define IUTEST_LIB_TOOLSET "vc140"
848 #elif _MSC_VER == 1910
849 # define IUTEST_LIB_TOOLSET "vc141"
850 #else
851 # error unknown _MSC_VER.
852 #endif
853 
854 #if defined(_DEBUG)
855 # define IUTEST_LIB_RT_OPT "d"
856 #else
857 # define IUTEST_LIB_RT_OPT ""
858 #endif
859 
860 #define IUTEST_LIB_NAME(name) \
861  #name "-" IUTEST_LIB_TOOLSET "-" IUTEST_LIB_THREAD_OPT IUTEST_LIB_RT_OPT ".lib"
862 
863 #pragma comment(lib, IUTEST_LIB_NAME(libiutest) )
864 
865 #endif
866 
867 #endif
868 
873 #endif // INCG_IRIS_IUTEST_CONFIG_HPP_F0151607_0D9D_4055_B94D_ED4A0FFA748B_