blob: 428e478da56e0b8cd84088e718c8bd6748e05e65 [file] [log] [blame]
Jeff Thompsonf7d49942013-08-01 16:47:40 -07001# /* **************************************************************************
2# * *
3# * (C) Copyright Paul Mensonides 2005. *
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 Thompson3d613fd2013-10-15 15:39:04 -070012# define NDNBOOST_PP_VALUE NDNBOOST_PP_COUNTER + 1
Jeff Thompsonf7d49942013-08-01 16:47:40 -070013#
Jeff Thompson2277ce52013-08-01 17:34:11 -070014# include <ndnboost/preprocessor/slot/detail/shared.hpp>
Jeff Thompsonf7d49942013-08-01 16:47:40 -070015#
Jeff Thompson3d613fd2013-10-15 15:39:04 -070016# undef NDNBOOST_PP_COUNTER
Jeff Thompsonf7d49942013-08-01 16:47:40 -070017#
Jeff Thompson3d613fd2013-10-15 15:39:04 -070018# undef NDNBOOST_PP_COUNTER_DIGIT_1
19# undef NDNBOOST_PP_COUNTER_DIGIT_2
20# undef NDNBOOST_PP_COUNTER_DIGIT_3
21# undef NDNBOOST_PP_COUNTER_DIGIT_4
22# undef NDNBOOST_PP_COUNTER_DIGIT_5
23# undef NDNBOOST_PP_COUNTER_DIGIT_6
24# undef NDNBOOST_PP_COUNTER_DIGIT_7
25# undef NDNBOOST_PP_COUNTER_DIGIT_8
26# undef NDNBOOST_PP_COUNTER_DIGIT_9
27# undef NDNBOOST_PP_COUNTER_DIGIT_10
Jeff Thompsonf7d49942013-08-01 16:47:40 -070028#
Jeff Thompson3d613fd2013-10-15 15:39:04 -070029# if NDNBOOST_PP_SLOT_TEMP_10 == 0
30# define NDNBOOST_PP_COUNTER_DIGIT_10 0
31# elif NDNBOOST_PP_SLOT_TEMP_10 == 1
32# define NDNBOOST_PP_COUNTER_DIGIT_10 1
33# elif NDNBOOST_PP_SLOT_TEMP_10 == 2
34# define NDNBOOST_PP_COUNTER_DIGIT_10 2
35# elif NDNBOOST_PP_SLOT_TEMP_10 == 3
36# define NDNBOOST_PP_COUNTER_DIGIT_10 3
37# elif NDNBOOST_PP_SLOT_TEMP_10 == 4
38# define NDNBOOST_PP_COUNTER_DIGIT_10 4
39# elif NDNBOOST_PP_SLOT_TEMP_10 == 5
40# define NDNBOOST_PP_COUNTER_DIGIT_10 5
41# elif NDNBOOST_PP_SLOT_TEMP_10 == 6
42# define NDNBOOST_PP_COUNTER_DIGIT_10 6
43# elif NDNBOOST_PP_SLOT_TEMP_10 == 7
44# define NDNBOOST_PP_COUNTER_DIGIT_10 7
45# elif NDNBOOST_PP_SLOT_TEMP_10 == 8
46# define NDNBOOST_PP_COUNTER_DIGIT_10 8
47# elif NDNBOOST_PP_SLOT_TEMP_10 == 9
48# define NDNBOOST_PP_COUNTER_DIGIT_10 9
Jeff Thompsonf7d49942013-08-01 16:47:40 -070049# endif
50#
Jeff Thompson3d613fd2013-10-15 15:39:04 -070051# if NDNBOOST_PP_SLOT_TEMP_9 == 0
52# define NDNBOOST_PP_COUNTER_DIGIT_9 0
53# elif NDNBOOST_PP_SLOT_TEMP_9 == 1
54# define NDNBOOST_PP_COUNTER_DIGIT_9 1
55# elif NDNBOOST_PP_SLOT_TEMP_9 == 2
56# define NDNBOOST_PP_COUNTER_DIGIT_9 2
57# elif NDNBOOST_PP_SLOT_TEMP_9 == 3
58# define NDNBOOST_PP_COUNTER_DIGIT_9 3
59# elif NDNBOOST_PP_SLOT_TEMP_9 == 4
60# define NDNBOOST_PP_COUNTER_DIGIT_9 4
61# elif NDNBOOST_PP_SLOT_TEMP_9 == 5
62# define NDNBOOST_PP_COUNTER_DIGIT_9 5
63# elif NDNBOOST_PP_SLOT_TEMP_9 == 6
64# define NDNBOOST_PP_COUNTER_DIGIT_9 6
65# elif NDNBOOST_PP_SLOT_TEMP_9 == 7
66# define NDNBOOST_PP_COUNTER_DIGIT_9 7
67# elif NDNBOOST_PP_SLOT_TEMP_9 == 8
68# define NDNBOOST_PP_COUNTER_DIGIT_9 8
69# elif NDNBOOST_PP_SLOT_TEMP_9 == 9
70# define NDNBOOST_PP_COUNTER_DIGIT_9 9
Jeff Thompsonf7d49942013-08-01 16:47:40 -070071# endif
72#
Jeff Thompson3d613fd2013-10-15 15:39:04 -070073# if NDNBOOST_PP_SLOT_TEMP_8 == 0
74# define NDNBOOST_PP_COUNTER_DIGIT_8 0
75# elif NDNBOOST_PP_SLOT_TEMP_8 == 1
76# define NDNBOOST_PP_COUNTER_DIGIT_8 1
77# elif NDNBOOST_PP_SLOT_TEMP_8 == 2
78# define NDNBOOST_PP_COUNTER_DIGIT_8 2
79# elif NDNBOOST_PP_SLOT_TEMP_8 == 3
80# define NDNBOOST_PP_COUNTER_DIGIT_8 3
81# elif NDNBOOST_PP_SLOT_TEMP_8 == 4
82# define NDNBOOST_PP_COUNTER_DIGIT_8 4
83# elif NDNBOOST_PP_SLOT_TEMP_8 == 5
84# define NDNBOOST_PP_COUNTER_DIGIT_8 5
85# elif NDNBOOST_PP_SLOT_TEMP_8 == 6
86# define NDNBOOST_PP_COUNTER_DIGIT_8 6
87# elif NDNBOOST_PP_SLOT_TEMP_8 == 7
88# define NDNBOOST_PP_COUNTER_DIGIT_8 7
89# elif NDNBOOST_PP_SLOT_TEMP_8 == 8
90# define NDNBOOST_PP_COUNTER_DIGIT_8 8
91# elif NDNBOOST_PP_SLOT_TEMP_8 == 9
92# define NDNBOOST_PP_COUNTER_DIGIT_8 9
Jeff Thompsonf7d49942013-08-01 16:47:40 -070093# endif
94#
Jeff Thompson3d613fd2013-10-15 15:39:04 -070095# if NDNBOOST_PP_SLOT_TEMP_7 == 0
96# define NDNBOOST_PP_COUNTER_DIGIT_7 0
97# elif NDNBOOST_PP_SLOT_TEMP_7 == 1
98# define NDNBOOST_PP_COUNTER_DIGIT_7 1
99# elif NDNBOOST_PP_SLOT_TEMP_7 == 2
100# define NDNBOOST_PP_COUNTER_DIGIT_7 2
101# elif NDNBOOST_PP_SLOT_TEMP_7 == 3
102# define NDNBOOST_PP_COUNTER_DIGIT_7 3
103# elif NDNBOOST_PP_SLOT_TEMP_7 == 4
104# define NDNBOOST_PP_COUNTER_DIGIT_7 4
105# elif NDNBOOST_PP_SLOT_TEMP_7 == 5
106# define NDNBOOST_PP_COUNTER_DIGIT_7 5
107# elif NDNBOOST_PP_SLOT_TEMP_7 == 6
108# define NDNBOOST_PP_COUNTER_DIGIT_7 6
109# elif NDNBOOST_PP_SLOT_TEMP_7 == 7
110# define NDNBOOST_PP_COUNTER_DIGIT_7 7
111# elif NDNBOOST_PP_SLOT_TEMP_7 == 8
112# define NDNBOOST_PP_COUNTER_DIGIT_7 8
113# elif NDNBOOST_PP_SLOT_TEMP_7 == 9
114# define NDNBOOST_PP_COUNTER_DIGIT_7 9
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700115# endif
116#
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700117# if NDNBOOST_PP_SLOT_TEMP_6 == 0
118# define NDNBOOST_PP_COUNTER_DIGIT_6 0
119# elif NDNBOOST_PP_SLOT_TEMP_6 == 1
120# define NDNBOOST_PP_COUNTER_DIGIT_6 1
121# elif NDNBOOST_PP_SLOT_TEMP_6 == 2
122# define NDNBOOST_PP_COUNTER_DIGIT_6 2
123# elif NDNBOOST_PP_SLOT_TEMP_6 == 3
124# define NDNBOOST_PP_COUNTER_DIGIT_6 3
125# elif NDNBOOST_PP_SLOT_TEMP_6 == 4
126# define NDNBOOST_PP_COUNTER_DIGIT_6 4
127# elif NDNBOOST_PP_SLOT_TEMP_6 == 5
128# define NDNBOOST_PP_COUNTER_DIGIT_6 5
129# elif NDNBOOST_PP_SLOT_TEMP_6 == 6
130# define NDNBOOST_PP_COUNTER_DIGIT_6 6
131# elif NDNBOOST_PP_SLOT_TEMP_6 == 7
132# define NDNBOOST_PP_COUNTER_DIGIT_6 7
133# elif NDNBOOST_PP_SLOT_TEMP_6 == 8
134# define NDNBOOST_PP_COUNTER_DIGIT_6 8
135# elif NDNBOOST_PP_SLOT_TEMP_6 == 9
136# define NDNBOOST_PP_COUNTER_DIGIT_6 9
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700137# endif
138#
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700139# if NDNBOOST_PP_SLOT_TEMP_5 == 0
140# define NDNBOOST_PP_COUNTER_DIGIT_5 0
141# elif NDNBOOST_PP_SLOT_TEMP_5 == 1
142# define NDNBOOST_PP_COUNTER_DIGIT_5 1
143# elif NDNBOOST_PP_SLOT_TEMP_5 == 2
144# define NDNBOOST_PP_COUNTER_DIGIT_5 2
145# elif NDNBOOST_PP_SLOT_TEMP_5 == 3
146# define NDNBOOST_PP_COUNTER_DIGIT_5 3
147# elif NDNBOOST_PP_SLOT_TEMP_5 == 4
148# define NDNBOOST_PP_COUNTER_DIGIT_5 4
149# elif NDNBOOST_PP_SLOT_TEMP_5 == 5
150# define NDNBOOST_PP_COUNTER_DIGIT_5 5
151# elif NDNBOOST_PP_SLOT_TEMP_5 == 6
152# define NDNBOOST_PP_COUNTER_DIGIT_5 6
153# elif NDNBOOST_PP_SLOT_TEMP_5 == 7
154# define NDNBOOST_PP_COUNTER_DIGIT_5 7
155# elif NDNBOOST_PP_SLOT_TEMP_5 == 8
156# define NDNBOOST_PP_COUNTER_DIGIT_5 8
157# elif NDNBOOST_PP_SLOT_TEMP_5 == 9
158# define NDNBOOST_PP_COUNTER_DIGIT_5 9
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700159# endif
160#
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700161# if NDNBOOST_PP_SLOT_TEMP_4 == 0
162# define NDNBOOST_PP_COUNTER_DIGIT_4 0
163# elif NDNBOOST_PP_SLOT_TEMP_4 == 1
164# define NDNBOOST_PP_COUNTER_DIGIT_4 1
165# elif NDNBOOST_PP_SLOT_TEMP_4 == 2
166# define NDNBOOST_PP_COUNTER_DIGIT_4 2
167# elif NDNBOOST_PP_SLOT_TEMP_4 == 3
168# define NDNBOOST_PP_COUNTER_DIGIT_4 3
169# elif NDNBOOST_PP_SLOT_TEMP_4 == 4
170# define NDNBOOST_PP_COUNTER_DIGIT_4 4
171# elif NDNBOOST_PP_SLOT_TEMP_4 == 5
172# define NDNBOOST_PP_COUNTER_DIGIT_4 5
173# elif NDNBOOST_PP_SLOT_TEMP_4 == 6
174# define NDNBOOST_PP_COUNTER_DIGIT_4 6
175# elif NDNBOOST_PP_SLOT_TEMP_4 == 7
176# define NDNBOOST_PP_COUNTER_DIGIT_4 7
177# elif NDNBOOST_PP_SLOT_TEMP_4 == 8
178# define NDNBOOST_PP_COUNTER_DIGIT_4 8
179# elif NDNBOOST_PP_SLOT_TEMP_4 == 9
180# define NDNBOOST_PP_COUNTER_DIGIT_4 9
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700181# endif
182#
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700183# if NDNBOOST_PP_SLOT_TEMP_3 == 0
184# define NDNBOOST_PP_COUNTER_DIGIT_3 0
185# elif NDNBOOST_PP_SLOT_TEMP_3 == 1
186# define NDNBOOST_PP_COUNTER_DIGIT_3 1
187# elif NDNBOOST_PP_SLOT_TEMP_3 == 2
188# define NDNBOOST_PP_COUNTER_DIGIT_3 2
189# elif NDNBOOST_PP_SLOT_TEMP_3 == 3
190# define NDNBOOST_PP_COUNTER_DIGIT_3 3
191# elif NDNBOOST_PP_SLOT_TEMP_3 == 4
192# define NDNBOOST_PP_COUNTER_DIGIT_3 4
193# elif NDNBOOST_PP_SLOT_TEMP_3 == 5
194# define NDNBOOST_PP_COUNTER_DIGIT_3 5
195# elif NDNBOOST_PP_SLOT_TEMP_3 == 6
196# define NDNBOOST_PP_COUNTER_DIGIT_3 6
197# elif NDNBOOST_PP_SLOT_TEMP_3 == 7
198# define NDNBOOST_PP_COUNTER_DIGIT_3 7
199# elif NDNBOOST_PP_SLOT_TEMP_3 == 8
200# define NDNBOOST_PP_COUNTER_DIGIT_3 8
201# elif NDNBOOST_PP_SLOT_TEMP_3 == 9
202# define NDNBOOST_PP_COUNTER_DIGIT_3 9
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700203# endif
204#
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700205# if NDNBOOST_PP_SLOT_TEMP_2 == 0
206# define NDNBOOST_PP_COUNTER_DIGIT_2 0
207# elif NDNBOOST_PP_SLOT_TEMP_2 == 1
208# define NDNBOOST_PP_COUNTER_DIGIT_2 1
209# elif NDNBOOST_PP_SLOT_TEMP_2 == 2
210# define NDNBOOST_PP_COUNTER_DIGIT_2 2
211# elif NDNBOOST_PP_SLOT_TEMP_2 == 3
212# define NDNBOOST_PP_COUNTER_DIGIT_2 3
213# elif NDNBOOST_PP_SLOT_TEMP_2 == 4
214# define NDNBOOST_PP_COUNTER_DIGIT_2 4
215# elif NDNBOOST_PP_SLOT_TEMP_2 == 5
216# define NDNBOOST_PP_COUNTER_DIGIT_2 5
217# elif NDNBOOST_PP_SLOT_TEMP_2 == 6
218# define NDNBOOST_PP_COUNTER_DIGIT_2 6
219# elif NDNBOOST_PP_SLOT_TEMP_2 == 7
220# define NDNBOOST_PP_COUNTER_DIGIT_2 7
221# elif NDNBOOST_PP_SLOT_TEMP_2 == 8
222# define NDNBOOST_PP_COUNTER_DIGIT_2 8
223# elif NDNBOOST_PP_SLOT_TEMP_2 == 9
224# define NDNBOOST_PP_COUNTER_DIGIT_2 9
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700225# endif
226#
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700227# if NDNBOOST_PP_SLOT_TEMP_1 == 0
228# define NDNBOOST_PP_COUNTER_DIGIT_1 0
229# elif NDNBOOST_PP_SLOT_TEMP_1 == 1
230# define NDNBOOST_PP_COUNTER_DIGIT_1 1
231# elif NDNBOOST_PP_SLOT_TEMP_1 == 2
232# define NDNBOOST_PP_COUNTER_DIGIT_1 2
233# elif NDNBOOST_PP_SLOT_TEMP_1 == 3
234# define NDNBOOST_PP_COUNTER_DIGIT_1 3
235# elif NDNBOOST_PP_SLOT_TEMP_1 == 4
236# define NDNBOOST_PP_COUNTER_DIGIT_1 4
237# elif NDNBOOST_PP_SLOT_TEMP_1 == 5
238# define NDNBOOST_PP_COUNTER_DIGIT_1 5
239# elif NDNBOOST_PP_SLOT_TEMP_1 == 6
240# define NDNBOOST_PP_COUNTER_DIGIT_1 6
241# elif NDNBOOST_PP_SLOT_TEMP_1 == 7
242# define NDNBOOST_PP_COUNTER_DIGIT_1 7
243# elif NDNBOOST_PP_SLOT_TEMP_1 == 8
244# define NDNBOOST_PP_COUNTER_DIGIT_1 8
245# elif NDNBOOST_PP_SLOT_TEMP_1 == 9
246# define NDNBOOST_PP_COUNTER_DIGIT_1 9
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700247# endif
248#
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700249# if NDNBOOST_PP_COUNTER_DIGIT_10
250# define NDNBOOST_PP_COUNTER NDNBOOST_PP_SLOT_CC_10(NDNBOOST_PP_COUNTER_DIGIT_10, NDNBOOST_PP_COUNTER_DIGIT_9, NDNBOOST_PP_COUNTER_DIGIT_8, NDNBOOST_PP_COUNTER_DIGIT_7, NDNBOOST_PP_COUNTER_DIGIT_6, NDNBOOST_PP_COUNTER_DIGIT_5, NDNBOOST_PP_COUNTER_DIGIT_4, NDNBOOST_PP_COUNTER_DIGIT_3, NDNBOOST_PP_COUNTER_DIGIT_2, NDNBOOST_PP_COUNTER_DIGIT_1)
251# elif NDNBOOST_PP_COUNTER_DIGIT_9
252# define NDNBOOST_PP_COUNTER NDNBOOST_PP_SLOT_CC_9(NDNBOOST_PP_COUNTER_DIGIT_9, NDNBOOST_PP_COUNTER_DIGIT_8, NDNBOOST_PP_COUNTER_DIGIT_7, NDNBOOST_PP_COUNTER_DIGIT_6, NDNBOOST_PP_COUNTER_DIGIT_5, NDNBOOST_PP_COUNTER_DIGIT_4, NDNBOOST_PP_COUNTER_DIGIT_3, NDNBOOST_PP_COUNTER_DIGIT_2, NDNBOOST_PP_COUNTER_DIGIT_1)
253# elif NDNBOOST_PP_COUNTER_DIGIT_8
254# define NDNBOOST_PP_COUNTER NDNBOOST_PP_SLOT_CC_8(NDNBOOST_PP_COUNTER_DIGIT_8, NDNBOOST_PP_COUNTER_DIGIT_7, NDNBOOST_PP_COUNTER_DIGIT_6, NDNBOOST_PP_COUNTER_DIGIT_5, NDNBOOST_PP_COUNTER_DIGIT_4, NDNBOOST_PP_COUNTER_DIGIT_3, NDNBOOST_PP_COUNTER_DIGIT_2, NDNBOOST_PP_COUNTER_DIGIT_1)
255# elif NDNBOOST_PP_COUNTER_DIGIT_7
256# define NDNBOOST_PP_COUNTER NDNBOOST_PP_SLOT_CC_7(NDNBOOST_PP_COUNTER_DIGIT_7, NDNBOOST_PP_COUNTER_DIGIT_6, NDNBOOST_PP_COUNTER_DIGIT_5, NDNBOOST_PP_COUNTER_DIGIT_4, NDNBOOST_PP_COUNTER_DIGIT_3, NDNBOOST_PP_COUNTER_DIGIT_2, NDNBOOST_PP_COUNTER_DIGIT_1)
257# elif NDNBOOST_PP_COUNTER_DIGIT_6
258# define NDNBOOST_PP_COUNTER NDNBOOST_PP_SLOT_CC_6(NDNBOOST_PP_COUNTER_DIGIT_6, NDNBOOST_PP_COUNTER_DIGIT_5, NDNBOOST_PP_COUNTER_DIGIT_4, NDNBOOST_PP_COUNTER_DIGIT_3, NDNBOOST_PP_COUNTER_DIGIT_2, NDNBOOST_PP_COUNTER_DIGIT_1)
259# elif NDNBOOST_PP_COUNTER_DIGIT_5
260# define NDNBOOST_PP_COUNTER NDNBOOST_PP_SLOT_CC_5(NDNBOOST_PP_COUNTER_DIGIT_5, NDNBOOST_PP_COUNTER_DIGIT_4, NDNBOOST_PP_COUNTER_DIGIT_3, NDNBOOST_PP_COUNTER_DIGIT_2, NDNBOOST_PP_COUNTER_DIGIT_1)
261# elif NDNBOOST_PP_COUNTER_DIGIT_4
262# define NDNBOOST_PP_COUNTER NDNBOOST_PP_SLOT_CC_4(NDNBOOST_PP_COUNTER_DIGIT_4, NDNBOOST_PP_COUNTER_DIGIT_3, NDNBOOST_PP_COUNTER_DIGIT_2, NDNBOOST_PP_COUNTER_DIGIT_1)
263# elif NDNBOOST_PP_COUNTER_DIGIT_3
264# define NDNBOOST_PP_COUNTER NDNBOOST_PP_SLOT_CC_3(NDNBOOST_PP_COUNTER_DIGIT_3, NDNBOOST_PP_COUNTER_DIGIT_2, NDNBOOST_PP_COUNTER_DIGIT_1)
265# elif NDNBOOST_PP_COUNTER_DIGIT_2
266# define NDNBOOST_PP_COUNTER NDNBOOST_PP_SLOT_CC_2(NDNBOOST_PP_COUNTER_DIGIT_2, NDNBOOST_PP_COUNTER_DIGIT_1)
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700267# else
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700268# define NDNBOOST_PP_COUNTER NDNBOOST_PP_COUNTER_DIGIT_1
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700269# endif