intercept.hpp 9.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306
  1. # /* **************************************************************************
  2. # * *
  3. # * (C) Copyright Paul Mensonides 2002.
  4. # * Distributed under the Boost Software License, Version 1.0. (See
  5. # * accompanying file LICENSE_1_0.txt or copy at
  6. # * http://www.boost.org/LICENSE_1_0.txt)
  7. # * *
  8. # ************************************************************************** */
  9. #
  10. # /* Revised by Edward Diener (2020) */
  11. #
  12. # /* See http://www.boost.org for most recent version. */
  13. #
  14. # ifndef BOOST_PREPROCESSOR_FACILITIES_INTERCEPT_HPP
  15. # define BOOST_PREPROCESSOR_FACILITIES_INTERCEPT_HPP
  16. #
  17. # include <boost/preprocessor/config/config.hpp>
  18. #
  19. # if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_STRICT()
  20. #
  21. # /* BOOST_PP_INTERCEPT */
  22. #
  23. # define BOOST_PP_INTERCEPT BOOST_PP_INTERCEPT_
  24. #
  25. # define BOOST_PP_INTERCEPT_0
  26. # define BOOST_PP_INTERCEPT_1
  27. # define BOOST_PP_INTERCEPT_2
  28. # define BOOST_PP_INTERCEPT_3
  29. # define BOOST_PP_INTERCEPT_4
  30. # define BOOST_PP_INTERCEPT_5
  31. # define BOOST_PP_INTERCEPT_6
  32. # define BOOST_PP_INTERCEPT_7
  33. # define BOOST_PP_INTERCEPT_8
  34. # define BOOST_PP_INTERCEPT_9
  35. # define BOOST_PP_INTERCEPT_10
  36. # define BOOST_PP_INTERCEPT_11
  37. # define BOOST_PP_INTERCEPT_12
  38. # define BOOST_PP_INTERCEPT_13
  39. # define BOOST_PP_INTERCEPT_14
  40. # define BOOST_PP_INTERCEPT_15
  41. # define BOOST_PP_INTERCEPT_16
  42. # define BOOST_PP_INTERCEPT_17
  43. # define BOOST_PP_INTERCEPT_18
  44. # define BOOST_PP_INTERCEPT_19
  45. # define BOOST_PP_INTERCEPT_20
  46. # define BOOST_PP_INTERCEPT_21
  47. # define BOOST_PP_INTERCEPT_22
  48. # define BOOST_PP_INTERCEPT_23
  49. # define BOOST_PP_INTERCEPT_24
  50. # define BOOST_PP_INTERCEPT_25
  51. # define BOOST_PP_INTERCEPT_26
  52. # define BOOST_PP_INTERCEPT_27
  53. # define BOOST_PP_INTERCEPT_28
  54. # define BOOST_PP_INTERCEPT_29
  55. # define BOOST_PP_INTERCEPT_30
  56. # define BOOST_PP_INTERCEPT_31
  57. # define BOOST_PP_INTERCEPT_32
  58. # define BOOST_PP_INTERCEPT_33
  59. # define BOOST_PP_INTERCEPT_34
  60. # define BOOST_PP_INTERCEPT_35
  61. # define BOOST_PP_INTERCEPT_36
  62. # define BOOST_PP_INTERCEPT_37
  63. # define BOOST_PP_INTERCEPT_38
  64. # define BOOST_PP_INTERCEPT_39
  65. # define BOOST_PP_INTERCEPT_40
  66. # define BOOST_PP_INTERCEPT_41
  67. # define BOOST_PP_INTERCEPT_42
  68. # define BOOST_PP_INTERCEPT_43
  69. # define BOOST_PP_INTERCEPT_44
  70. # define BOOST_PP_INTERCEPT_45
  71. # define BOOST_PP_INTERCEPT_46
  72. # define BOOST_PP_INTERCEPT_47
  73. # define BOOST_PP_INTERCEPT_48
  74. # define BOOST_PP_INTERCEPT_49
  75. # define BOOST_PP_INTERCEPT_50
  76. # define BOOST_PP_INTERCEPT_51
  77. # define BOOST_PP_INTERCEPT_52
  78. # define BOOST_PP_INTERCEPT_53
  79. # define BOOST_PP_INTERCEPT_54
  80. # define BOOST_PP_INTERCEPT_55
  81. # define BOOST_PP_INTERCEPT_56
  82. # define BOOST_PP_INTERCEPT_57
  83. # define BOOST_PP_INTERCEPT_58
  84. # define BOOST_PP_INTERCEPT_59
  85. # define BOOST_PP_INTERCEPT_60
  86. # define BOOST_PP_INTERCEPT_61
  87. # define BOOST_PP_INTERCEPT_62
  88. # define BOOST_PP_INTERCEPT_63
  89. # define BOOST_PP_INTERCEPT_64
  90. # define BOOST_PP_INTERCEPT_65
  91. # define BOOST_PP_INTERCEPT_66
  92. # define BOOST_PP_INTERCEPT_67
  93. # define BOOST_PP_INTERCEPT_68
  94. # define BOOST_PP_INTERCEPT_69
  95. # define BOOST_PP_INTERCEPT_70
  96. # define BOOST_PP_INTERCEPT_71
  97. # define BOOST_PP_INTERCEPT_72
  98. # define BOOST_PP_INTERCEPT_73
  99. # define BOOST_PP_INTERCEPT_74
  100. # define BOOST_PP_INTERCEPT_75
  101. # define BOOST_PP_INTERCEPT_76
  102. # define BOOST_PP_INTERCEPT_77
  103. # define BOOST_PP_INTERCEPT_78
  104. # define BOOST_PP_INTERCEPT_79
  105. # define BOOST_PP_INTERCEPT_80
  106. # define BOOST_PP_INTERCEPT_81
  107. # define BOOST_PP_INTERCEPT_82
  108. # define BOOST_PP_INTERCEPT_83
  109. # define BOOST_PP_INTERCEPT_84
  110. # define BOOST_PP_INTERCEPT_85
  111. # define BOOST_PP_INTERCEPT_86
  112. # define BOOST_PP_INTERCEPT_87
  113. # define BOOST_PP_INTERCEPT_88
  114. # define BOOST_PP_INTERCEPT_89
  115. # define BOOST_PP_INTERCEPT_90
  116. # define BOOST_PP_INTERCEPT_91
  117. # define BOOST_PP_INTERCEPT_92
  118. # define BOOST_PP_INTERCEPT_93
  119. # define BOOST_PP_INTERCEPT_94
  120. # define BOOST_PP_INTERCEPT_95
  121. # define BOOST_PP_INTERCEPT_96
  122. # define BOOST_PP_INTERCEPT_97
  123. # define BOOST_PP_INTERCEPT_98
  124. # define BOOST_PP_INTERCEPT_99
  125. # define BOOST_PP_INTERCEPT_100
  126. # define BOOST_PP_INTERCEPT_101
  127. # define BOOST_PP_INTERCEPT_102
  128. # define BOOST_PP_INTERCEPT_103
  129. # define BOOST_PP_INTERCEPT_104
  130. # define BOOST_PP_INTERCEPT_105
  131. # define BOOST_PP_INTERCEPT_106
  132. # define BOOST_PP_INTERCEPT_107
  133. # define BOOST_PP_INTERCEPT_108
  134. # define BOOST_PP_INTERCEPT_109
  135. # define BOOST_PP_INTERCEPT_110
  136. # define BOOST_PP_INTERCEPT_111
  137. # define BOOST_PP_INTERCEPT_112
  138. # define BOOST_PP_INTERCEPT_113
  139. # define BOOST_PP_INTERCEPT_114
  140. # define BOOST_PP_INTERCEPT_115
  141. # define BOOST_PP_INTERCEPT_116
  142. # define BOOST_PP_INTERCEPT_117
  143. # define BOOST_PP_INTERCEPT_118
  144. # define BOOST_PP_INTERCEPT_119
  145. # define BOOST_PP_INTERCEPT_120
  146. # define BOOST_PP_INTERCEPT_121
  147. # define BOOST_PP_INTERCEPT_122
  148. # define BOOST_PP_INTERCEPT_123
  149. # define BOOST_PP_INTERCEPT_124
  150. # define BOOST_PP_INTERCEPT_125
  151. # define BOOST_PP_INTERCEPT_126
  152. # define BOOST_PP_INTERCEPT_127
  153. # define BOOST_PP_INTERCEPT_128
  154. # define BOOST_PP_INTERCEPT_129
  155. # define BOOST_PP_INTERCEPT_130
  156. # define BOOST_PP_INTERCEPT_131
  157. # define BOOST_PP_INTERCEPT_132
  158. # define BOOST_PP_INTERCEPT_133
  159. # define BOOST_PP_INTERCEPT_134
  160. # define BOOST_PP_INTERCEPT_135
  161. # define BOOST_PP_INTERCEPT_136
  162. # define BOOST_PP_INTERCEPT_137
  163. # define BOOST_PP_INTERCEPT_138
  164. # define BOOST_PP_INTERCEPT_139
  165. # define BOOST_PP_INTERCEPT_140
  166. # define BOOST_PP_INTERCEPT_141
  167. # define BOOST_PP_INTERCEPT_142
  168. # define BOOST_PP_INTERCEPT_143
  169. # define BOOST_PP_INTERCEPT_144
  170. # define BOOST_PP_INTERCEPT_145
  171. # define BOOST_PP_INTERCEPT_146
  172. # define BOOST_PP_INTERCEPT_147
  173. # define BOOST_PP_INTERCEPT_148
  174. # define BOOST_PP_INTERCEPT_149
  175. # define BOOST_PP_INTERCEPT_150
  176. # define BOOST_PP_INTERCEPT_151
  177. # define BOOST_PP_INTERCEPT_152
  178. # define BOOST_PP_INTERCEPT_153
  179. # define BOOST_PP_INTERCEPT_154
  180. # define BOOST_PP_INTERCEPT_155
  181. # define BOOST_PP_INTERCEPT_156
  182. # define BOOST_PP_INTERCEPT_157
  183. # define BOOST_PP_INTERCEPT_158
  184. # define BOOST_PP_INTERCEPT_159
  185. # define BOOST_PP_INTERCEPT_160
  186. # define BOOST_PP_INTERCEPT_161
  187. # define BOOST_PP_INTERCEPT_162
  188. # define BOOST_PP_INTERCEPT_163
  189. # define BOOST_PP_INTERCEPT_164
  190. # define BOOST_PP_INTERCEPT_165
  191. # define BOOST_PP_INTERCEPT_166
  192. # define BOOST_PP_INTERCEPT_167
  193. # define BOOST_PP_INTERCEPT_168
  194. # define BOOST_PP_INTERCEPT_169
  195. # define BOOST_PP_INTERCEPT_170
  196. # define BOOST_PP_INTERCEPT_171
  197. # define BOOST_PP_INTERCEPT_172
  198. # define BOOST_PP_INTERCEPT_173
  199. # define BOOST_PP_INTERCEPT_174
  200. # define BOOST_PP_INTERCEPT_175
  201. # define BOOST_PP_INTERCEPT_176
  202. # define BOOST_PP_INTERCEPT_177
  203. # define BOOST_PP_INTERCEPT_178
  204. # define BOOST_PP_INTERCEPT_179
  205. # define BOOST_PP_INTERCEPT_180
  206. # define BOOST_PP_INTERCEPT_181
  207. # define BOOST_PP_INTERCEPT_182
  208. # define BOOST_PP_INTERCEPT_183
  209. # define BOOST_PP_INTERCEPT_184
  210. # define BOOST_PP_INTERCEPT_185
  211. # define BOOST_PP_INTERCEPT_186
  212. # define BOOST_PP_INTERCEPT_187
  213. # define BOOST_PP_INTERCEPT_188
  214. # define BOOST_PP_INTERCEPT_189
  215. # define BOOST_PP_INTERCEPT_190
  216. # define BOOST_PP_INTERCEPT_191
  217. # define BOOST_PP_INTERCEPT_192
  218. # define BOOST_PP_INTERCEPT_193
  219. # define BOOST_PP_INTERCEPT_194
  220. # define BOOST_PP_INTERCEPT_195
  221. # define BOOST_PP_INTERCEPT_196
  222. # define BOOST_PP_INTERCEPT_197
  223. # define BOOST_PP_INTERCEPT_198
  224. # define BOOST_PP_INTERCEPT_199
  225. # define BOOST_PP_INTERCEPT_200
  226. # define BOOST_PP_INTERCEPT_201
  227. # define BOOST_PP_INTERCEPT_202
  228. # define BOOST_PP_INTERCEPT_203
  229. # define BOOST_PP_INTERCEPT_204
  230. # define BOOST_PP_INTERCEPT_205
  231. # define BOOST_PP_INTERCEPT_206
  232. # define BOOST_PP_INTERCEPT_207
  233. # define BOOST_PP_INTERCEPT_208
  234. # define BOOST_PP_INTERCEPT_209
  235. # define BOOST_PP_INTERCEPT_210
  236. # define BOOST_PP_INTERCEPT_211
  237. # define BOOST_PP_INTERCEPT_212
  238. # define BOOST_PP_INTERCEPT_213
  239. # define BOOST_PP_INTERCEPT_214
  240. # define BOOST_PP_INTERCEPT_215
  241. # define BOOST_PP_INTERCEPT_216
  242. # define BOOST_PP_INTERCEPT_217
  243. # define BOOST_PP_INTERCEPT_218
  244. # define BOOST_PP_INTERCEPT_219
  245. # define BOOST_PP_INTERCEPT_220
  246. # define BOOST_PP_INTERCEPT_221
  247. # define BOOST_PP_INTERCEPT_222
  248. # define BOOST_PP_INTERCEPT_223
  249. # define BOOST_PP_INTERCEPT_224
  250. # define BOOST_PP_INTERCEPT_225
  251. # define BOOST_PP_INTERCEPT_226
  252. # define BOOST_PP_INTERCEPT_227
  253. # define BOOST_PP_INTERCEPT_228
  254. # define BOOST_PP_INTERCEPT_229
  255. # define BOOST_PP_INTERCEPT_230
  256. # define BOOST_PP_INTERCEPT_231
  257. # define BOOST_PP_INTERCEPT_232
  258. # define BOOST_PP_INTERCEPT_233
  259. # define BOOST_PP_INTERCEPT_234
  260. # define BOOST_PP_INTERCEPT_235
  261. # define BOOST_PP_INTERCEPT_236
  262. # define BOOST_PP_INTERCEPT_237
  263. # define BOOST_PP_INTERCEPT_238
  264. # define BOOST_PP_INTERCEPT_239
  265. # define BOOST_PP_INTERCEPT_240
  266. # define BOOST_PP_INTERCEPT_241
  267. # define BOOST_PP_INTERCEPT_242
  268. # define BOOST_PP_INTERCEPT_243
  269. # define BOOST_PP_INTERCEPT_244
  270. # define BOOST_PP_INTERCEPT_245
  271. # define BOOST_PP_INTERCEPT_246
  272. # define BOOST_PP_INTERCEPT_247
  273. # define BOOST_PP_INTERCEPT_248
  274. # define BOOST_PP_INTERCEPT_249
  275. # define BOOST_PP_INTERCEPT_250
  276. # define BOOST_PP_INTERCEPT_251
  277. # define BOOST_PP_INTERCEPT_252
  278. # define BOOST_PP_INTERCEPT_253
  279. # define BOOST_PP_INTERCEPT_254
  280. # define BOOST_PP_INTERCEPT_255
  281. # define BOOST_PP_INTERCEPT_256
  282. #
  283. # else
  284. #
  285. # /* BOOST_PP_INTERCEPT */
  286. #
  287. # define BOOST_PP_INTERCEPT BOOST_PP_INTERCEPT_
  288. #
  289. # include <boost/preprocessor/config/limits.hpp>
  290. #
  291. # if BOOST_PP_LIMIT_MAG == 256
  292. # include <boost/preprocessor/facilities/limits/intercept_256.hpp>
  293. # elif BOOST_PP_LIMIT_MAG == 512
  294. # include <boost/preprocessor/facilities/limits/intercept_256.hpp>
  295. # include <boost/preprocessor/facilities/limits/intercept_512.hpp>
  296. # elif BOOST_PP_LIMIT_MAG == 1024
  297. # include <boost/preprocessor/facilities/limits/intercept_256.hpp>
  298. # include <boost/preprocessor/facilities/limits/intercept_512.hpp>
  299. # include <boost/preprocessor/facilities/limits/intercept_1024.hpp>
  300. # else
  301. # error Incorrect value for the BOOST_PP_LIMIT_MAG limit
  302. # endif
  303. #
  304. # endif
  305. #
  306. # endif