blob: 849997d7ceccee40fd10b66fa5d4ad04a9c6552e [file] [log] [blame]
Jeff Thompsonf7d49942013-08-01 16:47:40 -07001# /* **************************************************************************
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# /* See http://www.boost.org for most recent version. */
11#
Jeff Thompson2277ce52013-08-01 17:34:11 -070012# include <ndnboost/preprocessor/slot/detail/shared.hpp>
Jeff Thompsonf7d49942013-08-01 16:47:40 -070013#
Jeff Thompson3d613fd2013-10-15 15:39:04 -070014# undef NDNBOOST_PP_SLOT_2
Jeff Thompsonf7d49942013-08-01 16:47:40 -070015#
Jeff Thompson3d613fd2013-10-15 15:39:04 -070016# undef NDNBOOST_PP_SLOT_2_DIGIT_1
17# undef NDNBOOST_PP_SLOT_2_DIGIT_2
18# undef NDNBOOST_PP_SLOT_2_DIGIT_3
19# undef NDNBOOST_PP_SLOT_2_DIGIT_4
20# undef NDNBOOST_PP_SLOT_2_DIGIT_5
21# undef NDNBOOST_PP_SLOT_2_DIGIT_6
22# undef NDNBOOST_PP_SLOT_2_DIGIT_7
23# undef NDNBOOST_PP_SLOT_2_DIGIT_8
24# undef NDNBOOST_PP_SLOT_2_DIGIT_9
25# undef NDNBOOST_PP_SLOT_2_DIGIT_10
Jeff Thompsonf7d49942013-08-01 16:47:40 -070026#
Jeff Thompson3d613fd2013-10-15 15:39:04 -070027# if NDNBOOST_PP_SLOT_TEMP_10 == 0
28# define NDNBOOST_PP_SLOT_2_DIGIT_10 0
29# elif NDNBOOST_PP_SLOT_TEMP_10 == 1
30# define NDNBOOST_PP_SLOT_2_DIGIT_10 1
31# elif NDNBOOST_PP_SLOT_TEMP_10 == 2
32# define NDNBOOST_PP_SLOT_2_DIGIT_10 2
33# elif NDNBOOST_PP_SLOT_TEMP_10 == 3
34# define NDNBOOST_PP_SLOT_2_DIGIT_10 3
35# elif NDNBOOST_PP_SLOT_TEMP_10 == 4
36# define NDNBOOST_PP_SLOT_2_DIGIT_10 4
37# elif NDNBOOST_PP_SLOT_TEMP_10 == 5
38# define NDNBOOST_PP_SLOT_2_DIGIT_10 5
39# elif NDNBOOST_PP_SLOT_TEMP_10 == 6
40# define NDNBOOST_PP_SLOT_2_DIGIT_10 6
41# elif NDNBOOST_PP_SLOT_TEMP_10 == 7
42# define NDNBOOST_PP_SLOT_2_DIGIT_10 7
43# elif NDNBOOST_PP_SLOT_TEMP_10 == 8
44# define NDNBOOST_PP_SLOT_2_DIGIT_10 8
45# elif NDNBOOST_PP_SLOT_TEMP_10 == 9
46# define NDNBOOST_PP_SLOT_2_DIGIT_10 9
Jeff Thompsonf7d49942013-08-01 16:47:40 -070047# endif
48#
Jeff Thompson3d613fd2013-10-15 15:39:04 -070049# if NDNBOOST_PP_SLOT_TEMP_9 == 0
50# define NDNBOOST_PP_SLOT_2_DIGIT_9 0
51# elif NDNBOOST_PP_SLOT_TEMP_9 == 1
52# define NDNBOOST_PP_SLOT_2_DIGIT_9 1
53# elif NDNBOOST_PP_SLOT_TEMP_9 == 2
54# define NDNBOOST_PP_SLOT_2_DIGIT_9 2
55# elif NDNBOOST_PP_SLOT_TEMP_9 == 3
56# define NDNBOOST_PP_SLOT_2_DIGIT_9 3
57# elif NDNBOOST_PP_SLOT_TEMP_9 == 4
58# define NDNBOOST_PP_SLOT_2_DIGIT_9 4
59# elif NDNBOOST_PP_SLOT_TEMP_9 == 5
60# define NDNBOOST_PP_SLOT_2_DIGIT_9 5
61# elif NDNBOOST_PP_SLOT_TEMP_9 == 6
62# define NDNBOOST_PP_SLOT_2_DIGIT_9 6
63# elif NDNBOOST_PP_SLOT_TEMP_9 == 7
64# define NDNBOOST_PP_SLOT_2_DIGIT_9 7
65# elif NDNBOOST_PP_SLOT_TEMP_9 == 8
66# define NDNBOOST_PP_SLOT_2_DIGIT_9 8
67# elif NDNBOOST_PP_SLOT_TEMP_9 == 9
68# define NDNBOOST_PP_SLOT_2_DIGIT_9 9
Jeff Thompsonf7d49942013-08-01 16:47:40 -070069# endif
70#
Jeff Thompson3d613fd2013-10-15 15:39:04 -070071# if NDNBOOST_PP_SLOT_TEMP_8 == 0
72# define NDNBOOST_PP_SLOT_2_DIGIT_8 0
73# elif NDNBOOST_PP_SLOT_TEMP_8 == 1
74# define NDNBOOST_PP_SLOT_2_DIGIT_8 1
75# elif NDNBOOST_PP_SLOT_TEMP_8 == 2
76# define NDNBOOST_PP_SLOT_2_DIGIT_8 2
77# elif NDNBOOST_PP_SLOT_TEMP_8 == 3
78# define NDNBOOST_PP_SLOT_2_DIGIT_8 3
79# elif NDNBOOST_PP_SLOT_TEMP_8 == 4
80# define NDNBOOST_PP_SLOT_2_DIGIT_8 4
81# elif NDNBOOST_PP_SLOT_TEMP_8 == 5
82# define NDNBOOST_PP_SLOT_2_DIGIT_8 5
83# elif NDNBOOST_PP_SLOT_TEMP_8 == 6
84# define NDNBOOST_PP_SLOT_2_DIGIT_8 6
85# elif NDNBOOST_PP_SLOT_TEMP_8 == 7
86# define NDNBOOST_PP_SLOT_2_DIGIT_8 7
87# elif NDNBOOST_PP_SLOT_TEMP_8 == 8
88# define NDNBOOST_PP_SLOT_2_DIGIT_8 8
89# elif NDNBOOST_PP_SLOT_TEMP_8 == 9
90# define NDNBOOST_PP_SLOT_2_DIGIT_8 9
Jeff Thompsonf7d49942013-08-01 16:47:40 -070091# endif
92#
Jeff Thompson3d613fd2013-10-15 15:39:04 -070093# if NDNBOOST_PP_SLOT_TEMP_7 == 0
94# define NDNBOOST_PP_SLOT_2_DIGIT_7 0
95# elif NDNBOOST_PP_SLOT_TEMP_7 == 1
96# define NDNBOOST_PP_SLOT_2_DIGIT_7 1
97# elif NDNBOOST_PP_SLOT_TEMP_7 == 2
98# define NDNBOOST_PP_SLOT_2_DIGIT_7 2
99# elif NDNBOOST_PP_SLOT_TEMP_7 == 3
100# define NDNBOOST_PP_SLOT_2_DIGIT_7 3
101# elif NDNBOOST_PP_SLOT_TEMP_7 == 4
102# define NDNBOOST_PP_SLOT_2_DIGIT_7 4
103# elif NDNBOOST_PP_SLOT_TEMP_7 == 5
104# define NDNBOOST_PP_SLOT_2_DIGIT_7 5
105# elif NDNBOOST_PP_SLOT_TEMP_7 == 6
106# define NDNBOOST_PP_SLOT_2_DIGIT_7 6
107# elif NDNBOOST_PP_SLOT_TEMP_7 == 7
108# define NDNBOOST_PP_SLOT_2_DIGIT_7 7
109# elif NDNBOOST_PP_SLOT_TEMP_7 == 8
110# define NDNBOOST_PP_SLOT_2_DIGIT_7 8
111# elif NDNBOOST_PP_SLOT_TEMP_7 == 9
112# define NDNBOOST_PP_SLOT_2_DIGIT_7 9
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700113# endif
114#
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700115# if NDNBOOST_PP_SLOT_TEMP_6 == 0
116# define NDNBOOST_PP_SLOT_2_DIGIT_6 0
117# elif NDNBOOST_PP_SLOT_TEMP_6 == 1
118# define NDNBOOST_PP_SLOT_2_DIGIT_6 1
119# elif NDNBOOST_PP_SLOT_TEMP_6 == 2
120# define NDNBOOST_PP_SLOT_2_DIGIT_6 2
121# elif NDNBOOST_PP_SLOT_TEMP_6 == 3
122# define NDNBOOST_PP_SLOT_2_DIGIT_6 3
123# elif NDNBOOST_PP_SLOT_TEMP_6 == 4
124# define NDNBOOST_PP_SLOT_2_DIGIT_6 4
125# elif NDNBOOST_PP_SLOT_TEMP_6 == 5
126# define NDNBOOST_PP_SLOT_2_DIGIT_6 5
127# elif NDNBOOST_PP_SLOT_TEMP_6 == 6
128# define NDNBOOST_PP_SLOT_2_DIGIT_6 6
129# elif NDNBOOST_PP_SLOT_TEMP_6 == 7
130# define NDNBOOST_PP_SLOT_2_DIGIT_6 7
131# elif NDNBOOST_PP_SLOT_TEMP_6 == 8
132# define NDNBOOST_PP_SLOT_2_DIGIT_6 8
133# elif NDNBOOST_PP_SLOT_TEMP_6 == 9
134# define NDNBOOST_PP_SLOT_2_DIGIT_6 9
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700135# endif
136#
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700137# if NDNBOOST_PP_SLOT_TEMP_5 == 0
138# define NDNBOOST_PP_SLOT_2_DIGIT_5 0
139# elif NDNBOOST_PP_SLOT_TEMP_5 == 1
140# define NDNBOOST_PP_SLOT_2_DIGIT_5 1
141# elif NDNBOOST_PP_SLOT_TEMP_5 == 2
142# define NDNBOOST_PP_SLOT_2_DIGIT_5 2
143# elif NDNBOOST_PP_SLOT_TEMP_5 == 3
144# define NDNBOOST_PP_SLOT_2_DIGIT_5 3
145# elif NDNBOOST_PP_SLOT_TEMP_5 == 4
146# define NDNBOOST_PP_SLOT_2_DIGIT_5 4
147# elif NDNBOOST_PP_SLOT_TEMP_5 == 5
148# define NDNBOOST_PP_SLOT_2_DIGIT_5 5
149# elif NDNBOOST_PP_SLOT_TEMP_5 == 6
150# define NDNBOOST_PP_SLOT_2_DIGIT_5 6
151# elif NDNBOOST_PP_SLOT_TEMP_5 == 7
152# define NDNBOOST_PP_SLOT_2_DIGIT_5 7
153# elif NDNBOOST_PP_SLOT_TEMP_5 == 8
154# define NDNBOOST_PP_SLOT_2_DIGIT_5 8
155# elif NDNBOOST_PP_SLOT_TEMP_5 == 9
156# define NDNBOOST_PP_SLOT_2_DIGIT_5 9
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700157# endif
158#
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700159# if NDNBOOST_PP_SLOT_TEMP_4 == 0
160# define NDNBOOST_PP_SLOT_2_DIGIT_4 0
161# elif NDNBOOST_PP_SLOT_TEMP_4 == 1
162# define NDNBOOST_PP_SLOT_2_DIGIT_4 1
163# elif NDNBOOST_PP_SLOT_TEMP_4 == 2
164# define NDNBOOST_PP_SLOT_2_DIGIT_4 2
165# elif NDNBOOST_PP_SLOT_TEMP_4 == 3
166# define NDNBOOST_PP_SLOT_2_DIGIT_4 3
167# elif NDNBOOST_PP_SLOT_TEMP_4 == 4
168# define NDNBOOST_PP_SLOT_2_DIGIT_4 4
169# elif NDNBOOST_PP_SLOT_TEMP_4 == 5
170# define NDNBOOST_PP_SLOT_2_DIGIT_4 5
171# elif NDNBOOST_PP_SLOT_TEMP_4 == 6
172# define NDNBOOST_PP_SLOT_2_DIGIT_4 6
173# elif NDNBOOST_PP_SLOT_TEMP_4 == 7
174# define NDNBOOST_PP_SLOT_2_DIGIT_4 7
175# elif NDNBOOST_PP_SLOT_TEMP_4 == 8
176# define NDNBOOST_PP_SLOT_2_DIGIT_4 8
177# elif NDNBOOST_PP_SLOT_TEMP_4 == 9
178# define NDNBOOST_PP_SLOT_2_DIGIT_4 9
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700179# endif
180#
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700181# if NDNBOOST_PP_SLOT_TEMP_3 == 0
182# define NDNBOOST_PP_SLOT_2_DIGIT_3 0
183# elif NDNBOOST_PP_SLOT_TEMP_3 == 1
184# define NDNBOOST_PP_SLOT_2_DIGIT_3 1
185# elif NDNBOOST_PP_SLOT_TEMP_3 == 2
186# define NDNBOOST_PP_SLOT_2_DIGIT_3 2
187# elif NDNBOOST_PP_SLOT_TEMP_3 == 3
188# define NDNBOOST_PP_SLOT_2_DIGIT_3 3
189# elif NDNBOOST_PP_SLOT_TEMP_3 == 4
190# define NDNBOOST_PP_SLOT_2_DIGIT_3 4
191# elif NDNBOOST_PP_SLOT_TEMP_3 == 5
192# define NDNBOOST_PP_SLOT_2_DIGIT_3 5
193# elif NDNBOOST_PP_SLOT_TEMP_3 == 6
194# define NDNBOOST_PP_SLOT_2_DIGIT_3 6
195# elif NDNBOOST_PP_SLOT_TEMP_3 == 7
196# define NDNBOOST_PP_SLOT_2_DIGIT_3 7
197# elif NDNBOOST_PP_SLOT_TEMP_3 == 8
198# define NDNBOOST_PP_SLOT_2_DIGIT_3 8
199# elif NDNBOOST_PP_SLOT_TEMP_3 == 9
200# define NDNBOOST_PP_SLOT_2_DIGIT_3 9
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700201# endif
202#
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700203# if NDNBOOST_PP_SLOT_TEMP_2 == 0
204# define NDNBOOST_PP_SLOT_2_DIGIT_2 0
205# elif NDNBOOST_PP_SLOT_TEMP_2 == 1
206# define NDNBOOST_PP_SLOT_2_DIGIT_2 1
207# elif NDNBOOST_PP_SLOT_TEMP_2 == 2
208# define NDNBOOST_PP_SLOT_2_DIGIT_2 2
209# elif NDNBOOST_PP_SLOT_TEMP_2 == 3
210# define NDNBOOST_PP_SLOT_2_DIGIT_2 3
211# elif NDNBOOST_PP_SLOT_TEMP_2 == 4
212# define NDNBOOST_PP_SLOT_2_DIGIT_2 4
213# elif NDNBOOST_PP_SLOT_TEMP_2 == 5
214# define NDNBOOST_PP_SLOT_2_DIGIT_2 5
215# elif NDNBOOST_PP_SLOT_TEMP_2 == 6
216# define NDNBOOST_PP_SLOT_2_DIGIT_2 6
217# elif NDNBOOST_PP_SLOT_TEMP_2 == 7
218# define NDNBOOST_PP_SLOT_2_DIGIT_2 7
219# elif NDNBOOST_PP_SLOT_TEMP_2 == 8
220# define NDNBOOST_PP_SLOT_2_DIGIT_2 8
221# elif NDNBOOST_PP_SLOT_TEMP_2 == 9
222# define NDNBOOST_PP_SLOT_2_DIGIT_2 9
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700223# endif
224#
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700225# if NDNBOOST_PP_SLOT_TEMP_1 == 0
226# define NDNBOOST_PP_SLOT_2_DIGIT_1 0
227# elif NDNBOOST_PP_SLOT_TEMP_1 == 1
228# define NDNBOOST_PP_SLOT_2_DIGIT_1 1
229# elif NDNBOOST_PP_SLOT_TEMP_1 == 2
230# define NDNBOOST_PP_SLOT_2_DIGIT_1 2
231# elif NDNBOOST_PP_SLOT_TEMP_1 == 3
232# define NDNBOOST_PP_SLOT_2_DIGIT_1 3
233# elif NDNBOOST_PP_SLOT_TEMP_1 == 4
234# define NDNBOOST_PP_SLOT_2_DIGIT_1 4
235# elif NDNBOOST_PP_SLOT_TEMP_1 == 5
236# define NDNBOOST_PP_SLOT_2_DIGIT_1 5
237# elif NDNBOOST_PP_SLOT_TEMP_1 == 6
238# define NDNBOOST_PP_SLOT_2_DIGIT_1 6
239# elif NDNBOOST_PP_SLOT_TEMP_1 == 7
240# define NDNBOOST_PP_SLOT_2_DIGIT_1 7
241# elif NDNBOOST_PP_SLOT_TEMP_1 == 8
242# define NDNBOOST_PP_SLOT_2_DIGIT_1 8
243# elif NDNBOOST_PP_SLOT_TEMP_1 == 9
244# define NDNBOOST_PP_SLOT_2_DIGIT_1 9
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700245# endif
246#
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700247# if NDNBOOST_PP_SLOT_2_DIGIT_10
248# define NDNBOOST_PP_SLOT_2() NDNBOOST_PP_SLOT_CC_10(NDNBOOST_PP_SLOT_2_DIGIT_10, NDNBOOST_PP_SLOT_2_DIGIT_9, NDNBOOST_PP_SLOT_2_DIGIT_8, NDNBOOST_PP_SLOT_2_DIGIT_7, NDNBOOST_PP_SLOT_2_DIGIT_6, NDNBOOST_PP_SLOT_2_DIGIT_5, NDNBOOST_PP_SLOT_2_DIGIT_4, NDNBOOST_PP_SLOT_2_DIGIT_3, NDNBOOST_PP_SLOT_2_DIGIT_2, NDNBOOST_PP_SLOT_2_DIGIT_1)
249# elif NDNBOOST_PP_SLOT_2_DIGIT_9
250# define NDNBOOST_PP_SLOT_2() NDNBOOST_PP_SLOT_CC_9(NDNBOOST_PP_SLOT_2_DIGIT_9, NDNBOOST_PP_SLOT_2_DIGIT_8, NDNBOOST_PP_SLOT_2_DIGIT_7, NDNBOOST_PP_SLOT_2_DIGIT_6, NDNBOOST_PP_SLOT_2_DIGIT_5, NDNBOOST_PP_SLOT_2_DIGIT_4, NDNBOOST_PP_SLOT_2_DIGIT_3, NDNBOOST_PP_SLOT_2_DIGIT_2, NDNBOOST_PP_SLOT_2_DIGIT_1)
251# elif NDNBOOST_PP_SLOT_2_DIGIT_8
252# define NDNBOOST_PP_SLOT_2() NDNBOOST_PP_SLOT_CC_8(NDNBOOST_PP_SLOT_2_DIGIT_8, NDNBOOST_PP_SLOT_2_DIGIT_7, NDNBOOST_PP_SLOT_2_DIGIT_6, NDNBOOST_PP_SLOT_2_DIGIT_5, NDNBOOST_PP_SLOT_2_DIGIT_4, NDNBOOST_PP_SLOT_2_DIGIT_3, NDNBOOST_PP_SLOT_2_DIGIT_2, NDNBOOST_PP_SLOT_2_DIGIT_1)
253# elif NDNBOOST_PP_SLOT_2_DIGIT_7
254# define NDNBOOST_PP_SLOT_2() NDNBOOST_PP_SLOT_CC_7(NDNBOOST_PP_SLOT_2_DIGIT_7, NDNBOOST_PP_SLOT_2_DIGIT_6, NDNBOOST_PP_SLOT_2_DIGIT_5, NDNBOOST_PP_SLOT_2_DIGIT_4, NDNBOOST_PP_SLOT_2_DIGIT_3, NDNBOOST_PP_SLOT_2_DIGIT_2, NDNBOOST_PP_SLOT_2_DIGIT_1)
255# elif NDNBOOST_PP_SLOT_2_DIGIT_6
256# define NDNBOOST_PP_SLOT_2() NDNBOOST_PP_SLOT_CC_6(NDNBOOST_PP_SLOT_2_DIGIT_6, NDNBOOST_PP_SLOT_2_DIGIT_5, NDNBOOST_PP_SLOT_2_DIGIT_4, NDNBOOST_PP_SLOT_2_DIGIT_3, NDNBOOST_PP_SLOT_2_DIGIT_2, NDNBOOST_PP_SLOT_2_DIGIT_1)
257# elif NDNBOOST_PP_SLOT_2_DIGIT_5
258# define NDNBOOST_PP_SLOT_2() NDNBOOST_PP_SLOT_CC_5(NDNBOOST_PP_SLOT_2_DIGIT_5, NDNBOOST_PP_SLOT_2_DIGIT_4, NDNBOOST_PP_SLOT_2_DIGIT_3, NDNBOOST_PP_SLOT_2_DIGIT_2, NDNBOOST_PP_SLOT_2_DIGIT_1)
259# elif NDNBOOST_PP_SLOT_2_DIGIT_4
260# define NDNBOOST_PP_SLOT_2() NDNBOOST_PP_SLOT_CC_4(NDNBOOST_PP_SLOT_2_DIGIT_4, NDNBOOST_PP_SLOT_2_DIGIT_3, NDNBOOST_PP_SLOT_2_DIGIT_2, NDNBOOST_PP_SLOT_2_DIGIT_1)
261# elif NDNBOOST_PP_SLOT_2_DIGIT_3
262# define NDNBOOST_PP_SLOT_2() NDNBOOST_PP_SLOT_CC_3(NDNBOOST_PP_SLOT_2_DIGIT_3, NDNBOOST_PP_SLOT_2_DIGIT_2, NDNBOOST_PP_SLOT_2_DIGIT_1)
263# elif NDNBOOST_PP_SLOT_2_DIGIT_2
264# define NDNBOOST_PP_SLOT_2() NDNBOOST_PP_SLOT_CC_2(NDNBOOST_PP_SLOT_2_DIGIT_2, NDNBOOST_PP_SLOT_2_DIGIT_1)
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700265# else
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700266# define NDNBOOST_PP_SLOT_2() NDNBOOST_PP_SLOT_2_DIGIT_1
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700267# endif