File indexing completed on 2025-01-30 09:33:58
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014 #ifndef BOOST_ATOMIC_DETAIL_WAIT_CAPABILITIES_HPP_INCLUDED_
0015 #define BOOST_ATOMIC_DETAIL_WAIT_CAPABILITIES_HPP_INCLUDED_
0016
0017 #include <boost/atomic/detail/config.hpp>
0018 #include <boost/atomic/detail/platform.hpp>
0019 #include <boost/atomic/detail/int_sizes.hpp>
0020 #if !defined(BOOST_ATOMIC_NO_FLOATING_POINT)
0021 #include <boost/atomic/detail/float_sizes.hpp>
0022 #endif
0023
0024 #if !defined(BOOST_ATOMIC_EMULATED) && !defined(BOOST_ATOMIC_DETAIL_WAIT_BACKEND_GENERIC)
0025 #include BOOST_ATOMIC_DETAIL_WAIT_BACKEND_HEADER(boost/atomic/detail/wait_caps_)
0026 #endif
0027
0028 #ifdef BOOST_HAS_PRAGMA_ONCE
0029 #pragma once
0030 #endif
0031
0032 #ifndef BOOST_ATOMIC_HAS_NATIVE_INT8_WAIT_NOTIFY
0033 #define BOOST_ATOMIC_HAS_NATIVE_INT8_WAIT_NOTIFY 0
0034 #endif
0035 #ifndef BOOST_ATOMIC_HAS_NATIVE_INT8_IPC_WAIT_NOTIFY
0036 #define BOOST_ATOMIC_HAS_NATIVE_INT8_IPC_WAIT_NOTIFY 0
0037 #endif
0038
0039 #ifndef BOOST_ATOMIC_HAS_NATIVE_INT16_WAIT_NOTIFY
0040 #define BOOST_ATOMIC_HAS_NATIVE_INT16_WAIT_NOTIFY 0
0041 #endif
0042 #ifndef BOOST_ATOMIC_HAS_NATIVE_INT16_IPC_WAIT_NOTIFY
0043 #define BOOST_ATOMIC_HAS_NATIVE_INT16_IPC_WAIT_NOTIFY 0
0044 #endif
0045
0046 #ifndef BOOST_ATOMIC_HAS_NATIVE_INT32_WAIT_NOTIFY
0047 #define BOOST_ATOMIC_HAS_NATIVE_INT32_WAIT_NOTIFY 0
0048 #endif
0049 #ifndef BOOST_ATOMIC_HAS_NATIVE_INT32_IPC_WAIT_NOTIFY
0050 #define BOOST_ATOMIC_HAS_NATIVE_INT32_IPC_WAIT_NOTIFY 0
0051 #endif
0052
0053 #ifndef BOOST_ATOMIC_HAS_NATIVE_INT64_WAIT_NOTIFY
0054 #define BOOST_ATOMIC_HAS_NATIVE_INT64_WAIT_NOTIFY 0
0055 #endif
0056 #ifndef BOOST_ATOMIC_HAS_NATIVE_INT64_IPC_WAIT_NOTIFY
0057 #define BOOST_ATOMIC_HAS_NATIVE_INT64_IPC_WAIT_NOTIFY 0
0058 #endif
0059
0060 #ifndef BOOST_ATOMIC_HAS_NATIVE_INT128_WAIT_NOTIFY
0061 #define BOOST_ATOMIC_HAS_NATIVE_INT128_WAIT_NOTIFY 0
0062 #endif
0063 #ifndef BOOST_ATOMIC_HAS_NATIVE_INT128_IPC_WAIT_NOTIFY
0064 #define BOOST_ATOMIC_HAS_NATIVE_INT128_IPC_WAIT_NOTIFY 0
0065 #endif
0066
0067
0068 #ifndef BOOST_ATOMIC_HAS_NATIVE_CHAR_WAIT_NOTIFY
0069 #define BOOST_ATOMIC_HAS_NATIVE_CHAR_WAIT_NOTIFY BOOST_ATOMIC_HAS_NATIVE_INT8_WAIT_NOTIFY
0070 #endif
0071 #ifndef BOOST_ATOMIC_HAS_NATIVE_CHAR_IPC_WAIT_NOTIFY
0072 #define BOOST_ATOMIC_HAS_NATIVE_CHAR_IPC_WAIT_NOTIFY BOOST_ATOMIC_HAS_NATIVE_INT8_IPC_WAIT_NOTIFY
0073 #endif
0074
0075 #ifndef BOOST_ATOMIC_HAS_NATIVE_CHAR8_T_WAIT_NOTIFY
0076 #define BOOST_ATOMIC_HAS_NATIVE_CHAR8_T_WAIT_NOTIFY BOOST_ATOMIC_HAS_NATIVE_INT8_WAIT_NOTIFY
0077 #endif
0078 #ifndef BOOST_ATOMIC_HAS_NATIVE_CHAR8_T_IPC_WAIT_NOTIFY
0079 #define BOOST_ATOMIC_HAS_NATIVE_CHAR8_T_IPC_WAIT_NOTIFY BOOST_ATOMIC_HAS_NATIVE_INT8_IPC_WAIT_NOTIFY
0080 #endif
0081
0082 #ifndef BOOST_ATOMIC_HAS_NATIVE_CHAR16_T_WAIT_NOTIFY
0083 #define BOOST_ATOMIC_HAS_NATIVE_CHAR16_T_WAIT_NOTIFY BOOST_ATOMIC_HAS_NATIVE_INT16_WAIT_NOTIFY
0084 #endif
0085 #ifndef BOOST_ATOMIC_HAS_NATIVE_CHAR16_T_IPC_WAIT_NOTIFY
0086 #define BOOST_ATOMIC_HAS_NATIVE_CHAR16_T_IPC_WAIT_NOTIFY BOOST_ATOMIC_HAS_NATIVE_INT16_IPC_WAIT_NOTIFY
0087 #endif
0088
0089 #ifndef BOOST_ATOMIC_HAS_NATIVE_CHAR32_T_WAIT_NOTIFY
0090 #define BOOST_ATOMIC_HAS_NATIVE_CHAR32_T_WAIT_NOTIFY BOOST_ATOMIC_HAS_NATIVE_INT32_WAIT_NOTIFY
0091 #endif
0092 #ifndef BOOST_ATOMIC_HAS_NATIVE_CHAR32_T_IPC_WAIT_NOTIFY
0093 #define BOOST_ATOMIC_HAS_NATIVE_CHAR32_T_IPC_WAIT_NOTIFY BOOST_ATOMIC_HAS_NATIVE_INT32_IPC_WAIT_NOTIFY
0094 #endif
0095
0096 #ifndef BOOST_ATOMIC_HAS_NATIVE_WCHAR_T_WAIT_NOTIFY
0097 #if BOOST_ATOMIC_DETAIL_SIZEOF_WCHAR_T == 1
0098 #define BOOST_ATOMIC_HAS_NATIVE_WCHAR_T_WAIT_NOTIFY BOOST_ATOMIC_HAS_NATIVE_INT8_WAIT_NOTIFY
0099 #elif BOOST_ATOMIC_DETAIL_SIZEOF_WCHAR_T == 2
0100 #define BOOST_ATOMIC_HAS_NATIVE_WCHAR_T_WAIT_NOTIFY BOOST_ATOMIC_HAS_NATIVE_INT16_WAIT_NOTIFY
0101 #elif BOOST_ATOMIC_DETAIL_SIZEOF_WCHAR_T == 4
0102 #define BOOST_ATOMIC_HAS_NATIVE_WCHAR_T_WAIT_NOTIFY BOOST_ATOMIC_HAS_NATIVE_INT32_WAIT_NOTIFY
0103 #elif BOOST_ATOMIC_DETAIL_SIZEOF_WCHAR_T == 8
0104 #define BOOST_ATOMIC_HAS_NATIVE_WCHAR_T_WAIT_NOTIFY BOOST_ATOMIC_HAS_NATIVE_INT64_WAIT_NOTIFY
0105 #else
0106 #define BOOST_ATOMIC_HAS_NATIVE_WCHAR_T_WAIT_NOTIFY 0
0107 #endif
0108 #endif
0109
0110 #ifndef BOOST_ATOMIC_HAS_NATIVE_WCHAR_T_IPC_WAIT_NOTIFY
0111 #if BOOST_ATOMIC_DETAIL_SIZEOF_WCHAR_T == 1
0112 #define BOOST_ATOMIC_HAS_NATIVE_WCHAR_T_IPC_WAIT_NOTIFY BOOST_ATOMIC_HAS_NATIVE_INT8_IPC_WAIT_NOTIFY
0113 #elif BOOST_ATOMIC_DETAIL_SIZEOF_WCHAR_T == 2
0114 #define BOOST_ATOMIC_HAS_NATIVE_WCHAR_T_IPC_WAIT_NOTIFY BOOST_ATOMIC_HAS_NATIVE_INT16_IPC_WAIT_NOTIFY
0115 #elif BOOST_ATOMIC_DETAIL_SIZEOF_WCHAR_T == 4
0116 #define BOOST_ATOMIC_HAS_NATIVE_WCHAR_T_IPC_WAIT_NOTIFY BOOST_ATOMIC_HAS_NATIVE_INT32_IPC_WAIT_NOTIFY
0117 #elif BOOST_ATOMIC_DETAIL_SIZEOF_WCHAR_T == 8
0118 #define BOOST_ATOMIC_HAS_NATIVE_WCHAR_T_IPC_WAIT_NOTIFY BOOST_ATOMIC_HAS_NATIVE_INT64_IPC_WAIT_NOTIFY
0119 #else
0120 #define BOOST_ATOMIC_HAS_NATIVE_WCHAR_T_IPC_WAIT_NOTIFY 0
0121 #endif
0122 #endif
0123
0124 #ifndef BOOST_ATOMIC_HAS_NATIVE_SHORT_WAIT_NOTIFY
0125 #if BOOST_ATOMIC_DETAIL_SIZEOF_SHORT == 1
0126 #define BOOST_ATOMIC_HAS_NATIVE_SHORT_WAIT_NOTIFY BOOST_ATOMIC_HAS_NATIVE_INT8_WAIT_NOTIFY
0127 #elif BOOST_ATOMIC_DETAIL_SIZEOF_SHORT == 2
0128 #define BOOST_ATOMIC_HAS_NATIVE_SHORT_WAIT_NOTIFY BOOST_ATOMIC_HAS_NATIVE_INT16_WAIT_NOTIFY
0129 #elif BOOST_ATOMIC_DETAIL_SIZEOF_SHORT == 4
0130 #define BOOST_ATOMIC_HAS_NATIVE_SHORT_WAIT_NOTIFY BOOST_ATOMIC_HAS_NATIVE_INT32_WAIT_NOTIFY
0131 #elif BOOST_ATOMIC_DETAIL_SIZEOF_SHORT == 8
0132 #define BOOST_ATOMIC_HAS_NATIVE_SHORT_WAIT_NOTIFY BOOST_ATOMIC_HAS_NATIVE_INT64_WAIT_NOTIFY
0133 #else
0134 #define BOOST_ATOMIC_HAS_NATIVE_SHORT_WAIT_NOTIFY 0
0135 #endif
0136 #endif
0137
0138 #ifndef BOOST_ATOMIC_HAS_NATIVE_SHORT_IPC_WAIT_NOTIFY
0139 #if BOOST_ATOMIC_DETAIL_SIZEOF_SHORT == 1
0140 #define BOOST_ATOMIC_HAS_NATIVE_SHORT_IPC_WAIT_NOTIFY BOOST_ATOMIC_HAS_NATIVE_INT8_IPC_WAIT_NOTIFY
0141 #elif BOOST_ATOMIC_DETAIL_SIZEOF_SHORT == 2
0142 #define BOOST_ATOMIC_HAS_NATIVE_SHORT_IPC_WAIT_NOTIFY BOOST_ATOMIC_HAS_NATIVE_INT16_IPC_WAIT_NOTIFY
0143 #elif BOOST_ATOMIC_DETAIL_SIZEOF_SHORT == 4
0144 #define BOOST_ATOMIC_HAS_NATIVE_SHORT_IPC_WAIT_NOTIFY BOOST_ATOMIC_HAS_NATIVE_INT32_IPC_WAIT_NOTIFY
0145 #elif BOOST_ATOMIC_DETAIL_SIZEOF_SHORT == 8
0146 #define BOOST_ATOMIC_HAS_NATIVE_SHORT_IPC_WAIT_NOTIFY BOOST_ATOMIC_HAS_NATIVE_INT64_IPC_WAIT_NOTIFY
0147 #else
0148 #define BOOST_ATOMIC_HAS_NATIVE_SHORT_IPC_WAIT_NOTIFY 0
0149 #endif
0150 #endif
0151
0152 #ifndef BOOST_ATOMIC_HAS_NATIVE_INT_WAIT_NOTIFY
0153 #if BOOST_ATOMIC_DETAIL_SIZEOF_INT == 1
0154 #define BOOST_ATOMIC_HAS_NATIVE_INT_WAIT_NOTIFY BOOST_ATOMIC_HAS_NATIVE_INT8_WAIT_NOTIFY
0155 #elif BOOST_ATOMIC_DETAIL_SIZEOF_INT == 2
0156 #define BOOST_ATOMIC_HAS_NATIVE_INT_WAIT_NOTIFY BOOST_ATOMIC_HAS_NATIVE_INT16_WAIT_NOTIFY
0157 #elif BOOST_ATOMIC_DETAIL_SIZEOF_INT == 4
0158 #define BOOST_ATOMIC_HAS_NATIVE_INT_WAIT_NOTIFY BOOST_ATOMIC_HAS_NATIVE_INT32_WAIT_NOTIFY
0159 #elif BOOST_ATOMIC_DETAIL_SIZEOF_INT == 8
0160 #define BOOST_ATOMIC_HAS_NATIVE_INT_WAIT_NOTIFY BOOST_ATOMIC_HAS_NATIVE_INT64_WAIT_NOTIFY
0161 #else
0162 #define BOOST_ATOMIC_HAS_NATIVE_INT_WAIT_NOTIFY 0
0163 #endif
0164 #endif
0165
0166 #ifndef BOOST_ATOMIC_HAS_NATIVE_INT_IPC_WAIT_NOTIFY
0167 #if BOOST_ATOMIC_DETAIL_SIZEOF_INT == 1
0168 #define BOOST_ATOMIC_HAS_NATIVE_INT_IPC_WAIT_NOTIFY BOOST_ATOMIC_HAS_NATIVE_INT8_IPC_WAIT_NOTIFY
0169 #elif BOOST_ATOMIC_DETAIL_SIZEOF_INT == 2
0170 #define BOOST_ATOMIC_HAS_NATIVE_INT_IPC_WAIT_NOTIFY BOOST_ATOMIC_HAS_NATIVE_INT16_IPC_WAIT_NOTIFY
0171 #elif BOOST_ATOMIC_DETAIL_SIZEOF_INT == 4
0172 #define BOOST_ATOMIC_HAS_NATIVE_INT_IPC_WAIT_NOTIFY BOOST_ATOMIC_HAS_NATIVE_INT32_IPC_WAIT_NOTIFY
0173 #elif BOOST_ATOMIC_DETAIL_SIZEOF_INT == 8
0174 #define BOOST_ATOMIC_HAS_NATIVE_INT_IPC_WAIT_NOTIFY BOOST_ATOMIC_HAS_NATIVE_INT64_IPC_WAIT_NOTIFY
0175 #else
0176 #define BOOST_ATOMIC_HAS_NATIVE_INT_IPC_WAIT_NOTIFY 0
0177 #endif
0178 #endif
0179
0180 #ifndef BOOST_ATOMIC_HAS_NATIVE_LONG_WAIT_NOTIFY
0181 #if BOOST_ATOMIC_DETAIL_SIZEOF_LONG == 1
0182 #define BOOST_ATOMIC_HAS_NATIVE_LONG_WAIT_NOTIFY BOOST_ATOMIC_HAS_NATIVE_INT8_WAIT_NOTIFY
0183 #elif BOOST_ATOMIC_DETAIL_SIZEOF_LONG == 2
0184 #define BOOST_ATOMIC_HAS_NATIVE_LONG_WAIT_NOTIFY BOOST_ATOMIC_HAS_NATIVE_INT16_WAIT_NOTIFY
0185 #elif BOOST_ATOMIC_DETAIL_SIZEOF_LONG == 4
0186 #define BOOST_ATOMIC_HAS_NATIVE_LONG_WAIT_NOTIFY BOOST_ATOMIC_HAS_NATIVE_INT32_WAIT_NOTIFY
0187 #elif BOOST_ATOMIC_DETAIL_SIZEOF_LONG == 8
0188 #define BOOST_ATOMIC_HAS_NATIVE_LONG_WAIT_NOTIFY BOOST_ATOMIC_HAS_NATIVE_INT64_WAIT_NOTIFY
0189 #else
0190 #define BOOST_ATOMIC_HAS_NATIVE_LONG_WAIT_NOTIFY 0
0191 #endif
0192 #endif
0193
0194 #ifndef BOOST_ATOMIC_HAS_NATIVE_LONG_IPC_WAIT_NOTIFY
0195 #if BOOST_ATOMIC_DETAIL_SIZEOF_LONG == 1
0196 #define BOOST_ATOMIC_HAS_NATIVE_LONG_IPC_WAIT_NOTIFY BOOST_ATOMIC_HAS_NATIVE_INT8_IPC_WAIT_NOTIFY
0197 #elif BOOST_ATOMIC_DETAIL_SIZEOF_LONG == 2
0198 #define BOOST_ATOMIC_HAS_NATIVE_LONG_IPC_WAIT_NOTIFY BOOST_ATOMIC_HAS_NATIVE_INT16_IPC_WAIT_NOTIFY
0199 #elif BOOST_ATOMIC_DETAIL_SIZEOF_LONG == 4
0200 #define BOOST_ATOMIC_HAS_NATIVE_LONG_IPC_WAIT_NOTIFY BOOST_ATOMIC_HAS_NATIVE_INT32_IPC_WAIT_NOTIFY
0201 #elif BOOST_ATOMIC_DETAIL_SIZEOF_LONG == 8
0202 #define BOOST_ATOMIC_HAS_NATIVE_LONG_IPC_WAIT_NOTIFY BOOST_ATOMIC_HAS_NATIVE_INT64_IPC_WAIT_NOTIFY
0203 #else
0204 #define BOOST_ATOMIC_HAS_NATIVE_LONG_IPC_WAIT_NOTIFY 0
0205 #endif
0206 #endif
0207
0208 #ifndef BOOST_ATOMIC_HAS_NATIVE_LLONG_WAIT_NOTIFY
0209 #if BOOST_ATOMIC_DETAIL_SIZEOF_LLONG == 1
0210 #define BOOST_ATOMIC_HAS_NATIVE_LLONG_WAIT_NOTIFY BOOST_ATOMIC_HAS_NATIVE_INT8_WAIT_NOTIFY
0211 #elif BOOST_ATOMIC_DETAIL_SIZEOF_LLONG == 2
0212 #define BOOST_ATOMIC_HAS_NATIVE_LLONG_WAIT_NOTIFY BOOST_ATOMIC_HAS_NATIVE_INT16_WAIT_NOTIFY
0213 #elif BOOST_ATOMIC_DETAIL_SIZEOF_LLONG == 4
0214 #define BOOST_ATOMIC_HAS_NATIVE_LLONG_WAIT_NOTIFY BOOST_ATOMIC_HAS_NATIVE_INT32_WAIT_NOTIFY
0215 #elif BOOST_ATOMIC_DETAIL_SIZEOF_LLONG == 8
0216 #define BOOST_ATOMIC_HAS_NATIVE_LLONG_WAIT_NOTIFY BOOST_ATOMIC_HAS_NATIVE_INT64_WAIT_NOTIFY
0217 #else
0218 #define BOOST_ATOMIC_HAS_NATIVE_LLONG_WAIT_NOTIFY 0
0219 #endif
0220 #endif
0221
0222 #ifndef BOOST_ATOMIC_HAS_NATIVE_LLONG_IPC_WAIT_NOTIFY
0223 #if BOOST_ATOMIC_DETAIL_SIZEOF_LLONG == 1
0224 #define BOOST_ATOMIC_HAS_NATIVE_LLONG_IPC_WAIT_NOTIFY BOOST_ATOMIC_HAS_NATIVE_INT8_IPC_WAIT_NOTIFY
0225 #elif BOOST_ATOMIC_DETAIL_SIZEOF_LLONG == 2
0226 #define BOOST_ATOMIC_HAS_NATIVE_LLONG_IPC_WAIT_NOTIFY BOOST_ATOMIC_HAS_NATIVE_INT16_IPC_WAIT_NOTIFY
0227 #elif BOOST_ATOMIC_DETAIL_SIZEOF_LLONG == 4
0228 #define BOOST_ATOMIC_HAS_NATIVE_LLONG_IPC_WAIT_NOTIFY BOOST_ATOMIC_HAS_NATIVE_INT32_IPC_WAIT_NOTIFY
0229 #elif BOOST_ATOMIC_DETAIL_SIZEOF_LLONG == 8
0230 #define BOOST_ATOMIC_HAS_NATIVE_LLONG_IPC_WAIT_NOTIFY BOOST_ATOMIC_HAS_NATIVE_INT64_IPC_WAIT_NOTIFY
0231 #else
0232 #define BOOST_ATOMIC_HAS_NATIVE_LLONG_IPC_WAIT_NOTIFY 0
0233 #endif
0234 #endif
0235
0236 #ifndef BOOST_ATOMIC_HAS_NATIVE_POINTER_WAIT_NOTIFY
0237 #if (BOOST_ATOMIC_DETAIL_SIZEOF_POINTER + 0) == 8
0238 #define BOOST_ATOMIC_HAS_NATIVE_POINTER_WAIT_NOTIFY BOOST_ATOMIC_HAS_NATIVE_INT64_WAIT_NOTIFY
0239 #elif (BOOST_ATOMIC_DETAIL_SIZEOF_POINTER + 0) == 4
0240 #define BOOST_ATOMIC_HAS_NATIVE_POINTER_WAIT_NOTIFY BOOST_ATOMIC_HAS_NATIVE_INT32_WAIT_NOTIFY
0241 #else
0242 #define BOOST_ATOMIC_HAS_NATIVE_POINTER_WAIT_NOTIFY 0
0243 #endif
0244 #endif
0245
0246 #define BOOST_ATOMIC_HAS_NATIVE_ADDRESS_WAIT_NOTIFY BOOST_ATOMIC_HAS_NATIVE_POINTER_WAIT_NOTIFY
0247
0248 #ifndef BOOST_ATOMIC_HAS_NATIVE_POINTER_IPC_WAIT_NOTIFY
0249 #if (BOOST_ATOMIC_DETAIL_SIZEOF_POINTER + 0) == 8
0250 #define BOOST_ATOMIC_HAS_NATIVE_POINTER_IPC_WAIT_NOTIFY BOOST_ATOMIC_HAS_NATIVE_INT64_IPC_WAIT_NOTIFY
0251 #elif (BOOST_ATOMIC_DETAIL_SIZEOF_POINTER + 0) == 4
0252 #define BOOST_ATOMIC_HAS_NATIVE_POINTER_IPC_WAIT_NOTIFY BOOST_ATOMIC_HAS_NATIVE_INT32_IPC_WAIT_NOTIFY
0253 #else
0254 #define BOOST_ATOMIC_HAS_NATIVE_POINTER_IPC_WAIT_NOTIFY 0
0255 #endif
0256 #endif
0257
0258 #define BOOST_ATOMIC_HAS_NATIVE_ADDRESS_IPC_WAIT_NOTIFY BOOST_ATOMIC_HAS_NATIVE_POINTER_IPC_WAIT_NOTIFY
0259
0260
0261 #ifndef BOOST_ATOMIC_HAS_NATIVE_BOOL_WAIT_NOTIFY
0262 #define BOOST_ATOMIC_HAS_NATIVE_BOOL_WAIT_NOTIFY BOOST_ATOMIC_HAS_NATIVE_INT8_WAIT_NOTIFY
0263 #endif
0264 #ifndef BOOST_ATOMIC_HAS_NATIVE_BOOL_IPC_WAIT_NOTIFY
0265 #define BOOST_ATOMIC_HAS_NATIVE_BOOL_IPC_WAIT_NOTIFY BOOST_ATOMIC_HAS_NATIVE_INT8_IPC_WAIT_NOTIFY
0266 #endif
0267
0268 #ifndef BOOST_ATOMIC_HAS_NATIVE_FLAG_WAIT_NOTIFY
0269 #define BOOST_ATOMIC_HAS_NATIVE_FLAG_WAIT_NOTIFY BOOST_ATOMIC_HAS_NATIVE_INT32_WAIT_NOTIFY
0270 #endif
0271 #ifndef BOOST_ATOMIC_HAS_NATIVE_FLAG_IPC_WAIT_NOTIFY
0272 #define BOOST_ATOMIC_HAS_NATIVE_FLAG_IPC_WAIT_NOTIFY BOOST_ATOMIC_HAS_NATIVE_INT32_IPC_WAIT_NOTIFY
0273 #endif
0274
0275 #if !defined(BOOST_ATOMIC_NO_FLOATING_POINT)
0276
0277 #if !defined(BOOST_ATOMIC_HAS_NATIVE_FLOAT_WAIT_NOTIFY) && defined(BOOST_ATOMIC_DETAIL_SIZEOF_FLOAT)
0278 #if BOOST_ATOMIC_DETAIL_SIZEOF_FLOAT == 2
0279 #define BOOST_ATOMIC_HAS_NATIVE_FLOAT_WAIT_NOTIFY BOOST_ATOMIC_HAS_NATIVE_INT16_WAIT_NOTIFY
0280 #elif BOOST_ATOMIC_DETAIL_SIZEOF_FLOAT == 4
0281 #define BOOST_ATOMIC_HAS_NATIVE_FLOAT_WAIT_NOTIFY BOOST_ATOMIC_HAS_NATIVE_INT32_WAIT_NOTIFY
0282 #elif BOOST_ATOMIC_DETAIL_SIZEOF_FLOAT == 8
0283 #define BOOST_ATOMIC_HAS_NATIVE_FLOAT_WAIT_NOTIFY BOOST_ATOMIC_HAS_NATIVE_INT64_WAIT_NOTIFY
0284 #elif BOOST_ATOMIC_DETAIL_SIZEOF_FLOAT > 8 && BOOST_ATOMIC_DETAIL_SIZEOF_FLOAT <= 16
0285 #define BOOST_ATOMIC_HAS_NATIVE_FLOAT_WAIT_NOTIFY BOOST_ATOMIC_HAS_NATIVE_INT128_WAIT_NOTIFY
0286 #else
0287 #define BOOST_ATOMIC_HAS_NATIVE_FLOAT_WAIT_NOTIFY 0
0288 #endif
0289 #endif
0290
0291 #if !defined(BOOST_ATOMIC_HAS_NATIVE_FLOAT_IPC_WAIT_NOTIFY) && defined(BOOST_ATOMIC_DETAIL_SIZEOF_FLOAT)
0292 #if BOOST_ATOMIC_DETAIL_SIZEOF_FLOAT == 2
0293 #define BOOST_ATOMIC_HAS_NATIVE_FLOAT_IPC_WAIT_NOTIFY BOOST_ATOMIC_HAS_NATIVE_INT16_IPC_WAIT_NOTIFY
0294 #elif BOOST_ATOMIC_DETAIL_SIZEOF_FLOAT == 4
0295 #define BOOST_ATOMIC_HAS_NATIVE_FLOAT_IPC_WAIT_NOTIFY BOOST_ATOMIC_HAS_NATIVE_INT32_IPC_WAIT_NOTIFY
0296 #elif BOOST_ATOMIC_DETAIL_SIZEOF_FLOAT == 8
0297 #define BOOST_ATOMIC_HAS_NATIVE_FLOAT_IPC_WAIT_NOTIFY BOOST_ATOMIC_HAS_NATIVE_INT64_IPC_WAIT_NOTIFY
0298 #elif BOOST_ATOMIC_DETAIL_SIZEOF_FLOAT > 8 && BOOST_ATOMIC_DETAIL_SIZEOF_FLOAT <= 16
0299 #define BOOST_ATOMIC_HAS_NATIVE_FLOAT_IPC_WAIT_NOTIFY BOOST_ATOMIC_HAS_NATIVE_INT128_IPC_WAIT_NOTIFY
0300 #else
0301 #define BOOST_ATOMIC_HAS_NATIVE_FLOAT_IPC_WAIT_NOTIFY 0
0302 #endif
0303 #endif
0304
0305 #if !defined(BOOST_ATOMIC_HAS_NATIVE_DOUBLE_WAIT_NOTIFY) && defined(BOOST_ATOMIC_DETAIL_SIZEOF_DOUBLE)
0306 #if BOOST_ATOMIC_DETAIL_SIZEOF_DOUBLE == 2
0307 #define BOOST_ATOMIC_HAS_NATIVE_DOUBLE_WAIT_NOTIFY BOOST_ATOMIC_HAS_NATIVE_INT16_WAIT_NOTIFY
0308 #elif BOOST_ATOMIC_DETAIL_SIZEOF_DOUBLE == 4
0309 #define BOOST_ATOMIC_HAS_NATIVE_DOUBLE_WAIT_NOTIFY BOOST_ATOMIC_HAS_NATIVE_INT32_WAIT_NOTIFY
0310 #elif BOOST_ATOMIC_DETAIL_SIZEOF_DOUBLE == 8
0311 #define BOOST_ATOMIC_HAS_NATIVE_DOUBLE_WAIT_NOTIFY BOOST_ATOMIC_HAS_NATIVE_INT64_WAIT_NOTIFY
0312 #elif BOOST_ATOMIC_DETAIL_SIZEOF_DOUBLE > 8 && BOOST_ATOMIC_DETAIL_SIZEOF_DOUBLE <= 16
0313 #define BOOST_ATOMIC_HAS_NATIVE_DOUBLE_WAIT_NOTIFY BOOST_ATOMIC_HAS_NATIVE_INT128_WAIT_NOTIFY
0314 #else
0315 #define BOOST_ATOMIC_HAS_NATIVE_DOUBLE_WAIT_NOTIFY 0
0316 #endif
0317 #endif
0318
0319 #if !defined(BOOST_ATOMIC_HAS_NATIVE_DOUBLE_IPC_WAIT_NOTIFY) && defined(BOOST_ATOMIC_DETAIL_SIZEOF_DOUBLE)
0320 #if BOOST_ATOMIC_DETAIL_SIZEOF_DOUBLE == 2
0321 #define BOOST_ATOMIC_HAS_NATIVE_DOUBLE_IPC_WAIT_NOTIFY BOOST_ATOMIC_HAS_NATIVE_INT16_IPC_WAIT_NOTIFY
0322 #elif BOOST_ATOMIC_DETAIL_SIZEOF_DOUBLE == 4
0323 #define BOOST_ATOMIC_HAS_NATIVE_DOUBLE_IPC_WAIT_NOTIFY BOOST_ATOMIC_HAS_NATIVE_INT32_IPC_WAIT_NOTIFY
0324 #elif BOOST_ATOMIC_DETAIL_SIZEOF_DOUBLE == 8
0325 #define BOOST_ATOMIC_HAS_NATIVE_DOUBLE_IPC_WAIT_NOTIFY BOOST_ATOMIC_HAS_NATIVE_INT64_IPC_WAIT_NOTIFY
0326 #elif BOOST_ATOMIC_DETAIL_SIZEOF_DOUBLE > 8 && BOOST_ATOMIC_DETAIL_SIZEOF_DOUBLE <= 16
0327 #define BOOST_ATOMIC_HAS_NATIVE_DOUBLE_IPC_WAIT_NOTIFY BOOST_ATOMIC_HAS_NATIVE_INT128_IPC_WAIT_NOTIFY
0328 #else
0329 #define BOOST_ATOMIC_HAS_NATIVE_DOUBLE_IPC_WAIT_NOTIFY 0
0330 #endif
0331 #endif
0332
0333 #if !defined(BOOST_ATOMIC_HAS_NATIVE_LONG_DOUBLE_WAIT_NOTIFY) && defined(BOOST_ATOMIC_DETAIL_SIZEOF_LONG_DOUBLE)
0334 #if BOOST_ATOMIC_DETAIL_SIZEOF_LONG_DOUBLE == 2
0335 #define BOOST_ATOMIC_HAS_NATIVE_LONG_DOUBLE_WAIT_NOTIFY BOOST_ATOMIC_HAS_NATIVE_INT16_WAIT_NOTIFY
0336 #elif BOOST_ATOMIC_DETAIL_SIZEOF_LONG_DOUBLE == 4
0337 #define BOOST_ATOMIC_HAS_NATIVE_LONG_DOUBLE_WAIT_NOTIFY BOOST_ATOMIC_HAS_NATIVE_INT32_WAIT_NOTIFY
0338 #elif BOOST_ATOMIC_DETAIL_SIZEOF_LONG_DOUBLE == 8
0339 #define BOOST_ATOMIC_HAS_NATIVE_LONG_DOUBLE_WAIT_NOTIFY BOOST_ATOMIC_HAS_NATIVE_INT64_WAIT_NOTIFY
0340 #elif BOOST_ATOMIC_DETAIL_SIZEOF_LONG_DOUBLE > 8 && BOOST_ATOMIC_DETAIL_SIZEOF_LONG_DOUBLE <= 16
0341 #define BOOST_ATOMIC_HAS_NATIVE_LONG_DOUBLE_WAIT_NOTIFY BOOST_ATOMIC_HAS_NATIVE_INT128_WAIT_NOTIFY
0342 #else
0343 #define BOOST_ATOMIC_HAS_NATIVE_LONG_DOUBLE_WAIT_NOTIFY 0
0344 #endif
0345 #endif
0346
0347 #if !defined(BOOST_ATOMIC_HAS_NATIVE_LONG_DOUBLE_IPC_WAIT_NOTIFY) && defined(BOOST_ATOMIC_DETAIL_SIZEOF_LONG_DOUBLE)
0348 #if BOOST_ATOMIC_DETAIL_SIZEOF_LONG_DOUBLE == 2
0349 #define BOOST_ATOMIC_HAS_NATIVE_LONG_DOUBLE_IPC_WAIT_NOTIFY BOOST_ATOMIC_HAS_NATIVE_INT16_IPC_WAIT_NOTIFY
0350 #elif BOOST_ATOMIC_DETAIL_SIZEOF_LONG_DOUBLE == 4
0351 #define BOOST_ATOMIC_HAS_NATIVE_LONG_DOUBLE_IPC_WAIT_NOTIFY BOOST_ATOMIC_HAS_NATIVE_INT32_IPC_WAIT_NOTIFY
0352 #elif BOOST_ATOMIC_DETAIL_SIZEOF_LONG_DOUBLE == 8
0353 #define BOOST_ATOMIC_HAS_NATIVE_LONG_DOUBLE_IPC_WAIT_NOTIFY BOOST_ATOMIC_HAS_NATIVE_INT64_IPC_WAIT_NOTIFY
0354 #elif BOOST_ATOMIC_DETAIL_SIZEOF_LONG_DOUBLE > 8 && BOOST_ATOMIC_DETAIL_SIZEOF_LONG_DOUBLE <= 16
0355 #define BOOST_ATOMIC_HAS_NATIVE_LONG_DOUBLE_IPC_WAIT_NOTIFY BOOST_ATOMIC_HAS_NATIVE_INT128_IPC_WAIT_NOTIFY
0356 #else
0357 #define BOOST_ATOMIC_HAS_NATIVE_LONG_DOUBLE_IPC_WAIT_NOTIFY 0
0358 #endif
0359 #endif
0360
0361 #endif
0362
0363 #endif