remove \r
[extl.git] / extl / mpl / config / support.h
blob73d6b361e3d1eb0926556b300ba8c28ed197da9b
1 /* ///////////////////////////////////////////////////////////////////////
2 * File: support.h
4 * Created: 08.11.20
5 * Updated: 08.11.20
7 * Brief: The MPL Library Support
9 * [<Home>]
10 * Copyright (c) 2008-2020, Waruqi All rights reserved.
11 * //////////////////////////////////////////////////////////////////// */
13 /* //////////////////////////////////////////////////////////////////// */
14 #ifndef EXTL_MPL_CONFIG_SUPPORT_H
15 #define EXTL_MPL_CONFIG_SUPPORT_H
17 #ifndef EXTL_MPL_CONFIG_H
18 # error This file must be included of extl\mpl\config\config.h
19 #endif
21 #ifndef EXTL_TYPE_CONFIG_H
22 # include "../type/config/config.h"
23 #endif
25 /* ///////////////////////////////////////////////////////////////////////
26 * Compatibility
29 /* Mpl support */
30 #ifdef EXTL_MPL_SUPPORT
31 # undef EXTL_MPL_SUPPORT
32 #endif
34 #if defined(__cplusplus) && \
35 defined(EXTL_TEMPLATE_SUPPORT) && \
36 defined(EXTL_TEMPLATE_SPEC_SUPPORT)
37 # define EXTL_MPL_SUPPORT
38 #endif
40 /* mpl::if_ support */
41 #ifdef EXTL_MPL_IF_SUPPORT
42 # undef EXTL_MPL_IF_SUPPORT
43 #endif
45 #if defined(EXTL_TEMPLATE_PARTIAL_SPEC_SUPPORT) || \
46 defined(EXTL_MEMBER_TEMPLATE_CLASS_SUPPORT)
47 # define EXTL_MPL_IF_SUPPORT
48 #endif
50 /* mpl::sqrt support */
51 #ifdef EXTL_MPL_MATH_SQRT_SUPPORT
52 # undef EXTL_MPL_MATH_SQRT_SUPPORT
53 #endif
55 #if defined(EXTL_TEMPLATE_PARTIAL_SPEC_SUPPORT) || \
56 defined(EXTL_MPL_IF_SUPPORT)
57 # define EXTL_MPL_MATH_SQRT_SUPPORT
58 #endif
60 /* mpl::pow support */
61 #ifdef EXTL_MPL_MATH_POW_SUPPORT
62 # undef EXTL_MPL_MATH_POW_SUPPORT
63 #endif
65 #if defined(EXTL_MPL_IF_SUPPORT)
66 # define EXTL_MPL_MATH_POW_SUPPORT
67 #endif
69 /* mpl::log support */
70 #ifdef EXTL_MPL_MATH_LOG_SUPPORT
71 # undef EXTL_MPL_MATH_LOG_SUPPORT
72 #endif
74 #if defined(EXTL_MPL_IF_SUPPORT)
75 # define EXTL_MPL_MATH_LOG_SUPPORT
76 #endif
78 /* mpl::pi support */
79 #ifdef EXTL_MPL_MATH_PI_SUPPORT
80 # undef EXTL_MPL_MATH_PI_SUPPORT
81 #endif
83 #if defined(EXTL_TEMPLATE_SPEC_WITHIN_TEMPLATE_CLASS_SUPPORT) && \
84 defined(EXTL_MPL_MATH_POW_SUPPORT) && \
85 !EXTL_WORKAROUND_DMC(==, 0x840)
86 # define EXTL_MPL_MATH_PI_SUPPORT
87 #endif
89 /* //////////////////////////////////////////////////////////////////// */
90 #endif /* EXTL_MPL_CONFIG_SUPPORT_H */
91 /* //////////////////////////////////////////////////////////////////// */