File indexing completed on 2025-12-16 09:44:41
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012 #if !defined(__IBMCPP__) || !defined(__COMPILER_VER__) || __COMPILER_VER__ < 0x42010000
0013 # error "Compiler not supported or configured - please reconfigure"
0014 #endif
0015
0016 #if __COMPILER_VER__ > 0x42010000
0017 # if defined(BOOST_ASSERT_CONFIG)
0018 # error "Unknown compiler version - please run the configure tests and report the results"
0019 # endif
0020 #endif
0021
0022 #define BOOST_COMPILER "IBM z/OS XL C/C++ version " BOOST_STRINGIZE(__COMPILER_VER__)
0023 #define BOOST_XLCPP_ZOS __COMPILER_VER__
0024
0025
0026
0027 #include <features.h> // For __UU, __C99, __TR1, ...
0028
0029 #if !defined(__IBMCPP_DEFAULTED_AND_DELETED_FUNCTIONS)
0030 # define BOOST_NO_CXX11_DELETED_FUNCTIONS
0031 # define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS
0032 # define BOOST_NO_CXX11_NON_PUBLIC_DEFAULTED_FUNCTIONS
0033 #endif
0034
0035
0036
0037 #if defined(__UU) || defined(__C99) || defined(__TR1)
0038 # define BOOST_HAS_LOG1P
0039 # define BOOST_HAS_EXPM1
0040 #endif
0041
0042 #if defined(__C99) || defined(__TR1)
0043 # define BOOST_HAS_STDINT_H
0044 #else
0045 # define BOOST_NO_FENV_H
0046 #endif
0047
0048
0049
0050 #define BOOST_HAS_NRVO
0051
0052 #if !defined(__RTTI_ALL__)
0053 # define BOOST_NO_RTTI
0054 #endif
0055
0056 #if !defined(_CPPUNWIND) && !defined(__EXCEPTIONS)
0057 # define BOOST_NO_EXCEPTIONS
0058 #endif
0059
0060 #if defined(_LONG_LONG) || defined(__IBMCPP_C99_LONG_LONG) || defined(__LL)
0061 # define BOOST_HAS_LONG_LONG
0062 #else
0063 # define BOOST_NO_LONG_LONG
0064 #endif
0065
0066 #if defined(_LONG_LONG) || defined(__IBMCPP_C99_LONG_LONG) || defined(__LL) || defined(_LP64)
0067 # define BOOST_HAS_MS_INT64
0068 #endif
0069
0070 #define BOOST_NO_SFINAE_EXPR
0071 #define BOOST_NO_CXX11_SFINAE_EXPR
0072
0073 #if defined(__IBMCPP_VARIADIC_TEMPLATES)
0074 # define BOOST_HAS_VARIADIC_TMPL
0075 #else
0076 # define BOOST_NO_CXX11_VARIADIC_TEMPLATES
0077 # define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS
0078 #endif
0079
0080 #if defined(__IBMCPP_STATIC_ASSERT)
0081 # define BOOST_HAS_STATIC_ASSERT
0082 #else
0083 # define BOOST_NO_CXX11_STATIC_ASSERT
0084 #endif
0085
0086 #if defined(__IBMCPP_RVALUE_REFERENCES)
0087 # define BOOST_HAS_RVALUE_REFS
0088 #else
0089 # define BOOST_NO_CXX11_RVALUE_REFERENCES
0090 #endif
0091
0092 #if !defined(__IBMCPP_SCOPED_ENUM)
0093 # define BOOST_NO_CXX11_SCOPED_ENUMS
0094 #endif
0095
0096 #define BOOST_NO_CXX11_FIXED_LENGTH_VARIADIC_TEMPLATE_EXPANSION_PACKS
0097 #define BOOST_NO_CXX11_TEMPLATE_ALIASES
0098 #define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS
0099
0100 #if !defined(__IBMCPP_EXPLICIT_CONVERSION_OPERATORS)
0101 # define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS
0102 #endif
0103
0104 #if !defined(__IBMCPP_DECLTYPE)
0105 # define BOOST_NO_CXX11_DECLTYPE
0106 #else
0107 # define BOOST_HAS_DECLTYPE
0108 #endif
0109 #define BOOST_NO_CXX11_DECLTYPE_N3276
0110
0111 #if !defined(__IBMCPP_INLINE_NAMESPACE)
0112 # define BOOST_NO_CXX11_INLINE_NAMESPACES
0113 #endif
0114
0115 #if !defined(__IBMCPP_AUTO_TYPEDEDUCTION)
0116 # define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS
0117 # define BOOST_NO_CXX11_AUTO_DECLARATIONS
0118 # define BOOST_NO_CXX11_TRAILING_RESULT_TYPES
0119 #endif
0120
0121 #if !defined(__IBM_CHAR32_T__)
0122 # define BOOST_NO_CXX11_CHAR32_T
0123 #endif
0124 #if !defined(__IBM_CHAR16_T__)
0125 # define BOOST_NO_CXX11_CHAR16_T
0126 #endif
0127
0128 #if !defined(__IBMCPP_CONSTEXPR)
0129 # define BOOST_NO_CXX11_CONSTEXPR
0130 #endif
0131
0132 #define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
0133 #define BOOST_NO_CXX11_UNICODE_LITERALS
0134 #define BOOST_NO_CXX11_RAW_LITERALS
0135 #define BOOST_NO_CXX11_RANGE_BASED_FOR
0136 #define BOOST_NO_CXX11_NULLPTR
0137 #define BOOST_NO_CXX11_NOEXCEPT
0138 #define BOOST_NO_CXX11_LAMBDAS
0139 #define BOOST_NO_CXX11_USER_DEFINED_LITERALS
0140 #define BOOST_NO_CXX11_THREAD_LOCAL
0141 #define BOOST_NO_CXX11_REF_QUALIFIERS
0142 #define BOOST_NO_CXX11_FINAL
0143 #define BOOST_NO_CXX11_OVERRIDE
0144 #define BOOST_NO_CXX11_ALIGNAS
0145 #define BOOST_NO_CXX11_ALIGNOF
0146 #define BOOST_NO_CXX11_UNRESTRICTED_UNION
0147 #define BOOST_NO_CXX14_VARIABLE_TEMPLATES
0148 #define BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION
0149 #define BOOST_NO_CXX14_AGGREGATE_NSDMI
0150 #define BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES
0151 #define BOOST_NO_CXX14_GENERIC_LAMBDAS
0152 #define BOOST_NO_CXX14_DIGIT_SEPARATORS
0153 #define BOOST_NO_CXX14_DECLTYPE_AUTO
0154 #define BOOST_NO_CXX14_CONSTEXPR
0155 #define BOOST_NO_CXX14_BINARY_LITERALS
0156 #define BOOST_NO_CXX17_STRUCTURED_BINDINGS
0157 #define BOOST_NO_CXX17_INLINE_VARIABLES
0158 #define BOOST_NO_CXX17_FOLD_EXPRESSIONS
0159 #define BOOST_NO_CXX17_IF_CONSTEXPR
0160 #define BOOST_NO_CXX17_AUTO_NONTYPE_TEMPLATE_PARAMS
0161
0162
0163
0164 #if defined(__IBM_ATTRIBUTES)
0165 # define BOOST_FORCEINLINE inline __attribute__ ((__always_inline__))
0166 # define BOOST_NOINLINE __attribute__ ((__noinline__))
0167 # define BOOST_MAY_ALIAS __attribute__((__may_alias__))
0168
0169 #endif
0170
0171 extern "builtin" long __builtin_expect(long, long);
0172
0173 #define BOOST_LIKELY(x) __builtin_expect((x) && true, 1)
0174 #define BOOST_UNLIKELY(x) __builtin_expect((x) && true, 0)