1 # /* **************************************************************************
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)
8 # ************************************************************************** */
10 # /* See http://www.boost.org for most recent version. */
12 # include <boost/preprocessor/slot/detail/shared.hpp>
14 # undef BOOST_PP_LOCAL_FE
16 # undef BOOST_PP_LOCAL_FE_DIGIT_1
17 # undef BOOST_PP_LOCAL_FE_DIGIT_2
18 # undef BOOST_PP_LOCAL_FE_DIGIT_3
19 # undef BOOST_PP_LOCAL_FE_DIGIT_4
20 # undef BOOST_PP_LOCAL_FE_DIGIT_5
21 # undef BOOST_PP_LOCAL_FE_DIGIT_6
22 # undef BOOST_PP_LOCAL_FE_DIGIT_7
23 # undef BOOST_PP_LOCAL_FE_DIGIT_8
24 # undef BOOST_PP_LOCAL_FE_DIGIT_9
25 # undef BOOST_PP_LOCAL_FE_DIGIT_10
27 # if BOOST_PP_SLOT_TEMP_3 == 0
28 # define BOOST_PP_LOCAL_FE_DIGIT_3 0
29 # elif BOOST_PP_SLOT_TEMP_3 == 1
30 # define BOOST_PP_LOCAL_FE_DIGIT_3 1
31 # elif BOOST_PP_SLOT_TEMP_3 == 2
32 # define BOOST_PP_LOCAL_FE_DIGIT_3 2
33 # elif BOOST_PP_SLOT_TEMP_3 == 3
34 # define BOOST_PP_LOCAL_FE_DIGIT_3 3
35 # elif BOOST_PP_SLOT_TEMP_3 == 4
36 # define BOOST_PP_LOCAL_FE_DIGIT_3 4
37 # elif BOOST_PP_SLOT_TEMP_3 == 5
38 # define BOOST_PP_LOCAL_FE_DIGIT_3 5
39 # elif BOOST_PP_SLOT_TEMP_3 == 6
40 # define BOOST_PP_LOCAL_FE_DIGIT_3 6
41 # elif BOOST_PP_SLOT_TEMP_3 == 7
42 # define BOOST_PP_LOCAL_FE_DIGIT_3 7
43 # elif BOOST_PP_SLOT_TEMP_3 == 8
44 # define BOOST_PP_LOCAL_FE_DIGIT_3 8
45 # elif BOOST_PP_SLOT_TEMP_3 == 9
46 # define BOOST_PP_LOCAL_FE_DIGIT_3 9
49 # if BOOST_PP_SLOT_TEMP_2 == 0
50 # define BOOST_PP_LOCAL_FE_DIGIT_2 0
51 # elif BOOST_PP_SLOT_TEMP_2 == 1
52 # define BOOST_PP_LOCAL_FE_DIGIT_2 1
53 # elif BOOST_PP_SLOT_TEMP_2 == 2
54 # define BOOST_PP_LOCAL_FE_DIGIT_2 2
55 # elif BOOST_PP_SLOT_TEMP_2 == 3
56 # define BOOST_PP_LOCAL_FE_DIGIT_2 3
57 # elif BOOST_PP_SLOT_TEMP_2 == 4
58 # define BOOST_PP_LOCAL_FE_DIGIT_2 4
59 # elif BOOST_PP_SLOT_TEMP_2 == 5
60 # define BOOST_PP_LOCAL_FE_DIGIT_2 5
61 # elif BOOST_PP_SLOT_TEMP_2 == 6
62 # define BOOST_PP_LOCAL_FE_DIGIT_2 6
63 # elif BOOST_PP_SLOT_TEMP_2 == 7
64 # define BOOST_PP_LOCAL_FE_DIGIT_2 7
65 # elif BOOST_PP_SLOT_TEMP_2 == 8
66 # define BOOST_PP_LOCAL_FE_DIGIT_2 8
67 # elif BOOST_PP_SLOT_TEMP_2 == 9
68 # define BOOST_PP_LOCAL_FE_DIGIT_2 9
71 # if BOOST_PP_SLOT_TEMP_1 == 0
72 # define BOOST_PP_LOCAL_FE_DIGIT_1 0
73 # elif BOOST_PP_SLOT_TEMP_1 == 1
74 # define BOOST_PP_LOCAL_FE_DIGIT_1 1
75 # elif BOOST_PP_SLOT_TEMP_1 == 2
76 # define BOOST_PP_LOCAL_FE_DIGIT_1 2
77 # elif BOOST_PP_SLOT_TEMP_1 == 3
78 # define BOOST_PP_LOCAL_FE_DIGIT_1 3
79 # elif BOOST_PP_SLOT_TEMP_1 == 4
80 # define BOOST_PP_LOCAL_FE_DIGIT_1 4
81 # elif BOOST_PP_SLOT_TEMP_1 == 5
82 # define BOOST_PP_LOCAL_FE_DIGIT_1 5
83 # elif BOOST_PP_SLOT_TEMP_1 == 6
84 # define BOOST_PP_LOCAL_FE_DIGIT_1 6
85 # elif BOOST_PP_SLOT_TEMP_1 == 7
86 # define BOOST_PP_LOCAL_FE_DIGIT_1 7
87 # elif BOOST_PP_SLOT_TEMP_1 == 8
88 # define BOOST_PP_LOCAL_FE_DIGIT_1 8
89 # elif BOOST_PP_SLOT_TEMP_1 == 9
90 # define BOOST_PP_LOCAL_FE_DIGIT_1 9
93 # if BOOST_PP_LOCAL_FE_DIGIT_3
94 # define BOOST_PP_LOCAL_FE() BOOST_PP_SLOT_CC_3(BOOST_PP_LOCAL_FE_DIGIT_3, BOOST_PP_LOCAL_FE_DIGIT_2, BOOST_PP_LOCAL_FE_DIGIT_1)
95 # elif BOOST_PP_LOCAL_FE_DIGIT_2
96 # define BOOST_PP_LOCAL_FE() BOOST_PP_SLOT_CC_2(BOOST_PP_LOCAL_FE_DIGIT_2, BOOST_PP_LOCAL_FE_DIGIT_1)
98 # define BOOST_PP_LOCAL_FE() BOOST_PP_LOCAL_FE_DIGIT_1