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
307