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 # /* See http://www.boost.org for most recent version. */ 11 # 12 # include <boost/preprocessor/slot/detail/shared.hpp> 13 # 14 # undef BOOST_PP_SLOT_1 15 # 16 # undef BOOST_PP_SLOT_1_DIGIT_1 17 # undef BOOST_PP_SLOT_1_DIGIT_2 18 # undef BOOST_PP_SLOT_1_DIGIT_3 19 # undef BOOST_PP_SLOT_1_DIGIT_4 20 # undef BOOST_PP_SLOT_1_DIGIT_5 21 # undef BOOST_PP_SLOT_1_DIGIT_6 22 # undef BOOST_PP_SLOT_1_DIGIT_7 23 # undef BOOST_PP_SLOT_1_DIGIT_8 24 # undef BOOST_PP_SLOT_1_DIGIT_9 25 # undef BOOST_PP_SLOT_1_DIGIT_10 26 # 27 # if BOOST_PP_SLOT_TEMP_10 == 0 28 # define BOOST_PP_SLOT_1_DIGIT_10 0 29 # elif BOOST_PP_SLOT_TEMP_10 == 1 30 # define BOOST_PP_SLOT_1_DIGIT_10 1 31 # elif BOOST_PP_SLOT_TEMP_10 == 2 32 # define BOOST_PP_SLOT_1_DIGIT_10 2 33 # elif BOOST_PP_SLOT_TEMP_10 == 3 34 # define BOOST_PP_SLOT_1_DIGIT_10 3 35 # elif BOOST_PP_SLOT_TEMP_10 == 4 36 # define BOOST_PP_SLOT_1_DIGIT_10 4 37 # elif BOOST_PP_SLOT_TEMP_10 == 5 38 # define BOOST_PP_SLOT_1_DIGIT_10 5 39 # elif BOOST_PP_SLOT_TEMP_10 == 6 40 # define BOOST_PP_SLOT_1_DIGIT_10 6 41 # elif BOOST_PP_SLOT_TEMP_10 == 7 42 # define BOOST_PP_SLOT_1_DIGIT_10 7 43 # elif BOOST_PP_SLOT_TEMP_10 == 8 44 # define BOOST_PP_SLOT_1_DIGIT_10 8 45 # elif BOOST_PP_SLOT_TEMP_10 == 9 46 # define BOOST_PP_SLOT_1_DIGIT_10 9 47 # endif 48 # 49 # if BOOST_PP_SLOT_TEMP_9 == 0 50 # define BOOST_PP_SLOT_1_DIGIT_9 0 51 # elif BOOST_PP_SLOT_TEMP_9 == 1 52 # define BOOST_PP_SLOT_1_DIGIT_9 1 53 # elif BOOST_PP_SLOT_TEMP_9 == 2 54 # define BOOST_PP_SLOT_1_DIGIT_9 2 55 # elif BOOST_PP_SLOT_TEMP_9 == 3 56 # define BOOST_PP_SLOT_1_DIGIT_9 3 57 # elif BOOST_PP_SLOT_TEMP_9 == 4 58 # define BOOST_PP_SLOT_1_DIGIT_9 4 59 # elif BOOST_PP_SLOT_TEMP_9 == 5 60 # define BOOST_PP_SLOT_1_DIGIT_9 5 61 # elif BOOST_PP_SLOT_TEMP_9 == 6 62 # define BOOST_PP_SLOT_1_DIGIT_9 6 63 # elif BOOST_PP_SLOT_TEMP_9 == 7 64 # define BOOST_PP_SLOT_1_DIGIT_9 7 65 # elif BOOST_PP_SLOT_TEMP_9 == 8 66 # define BOOST_PP_SLOT_1_DIGIT_9 8 67 # elif BOOST_PP_SLOT_TEMP_9 == 9 68 # define BOOST_PP_SLOT_1_DIGIT_9 9 69 # endif 70 # 71 # if BOOST_PP_SLOT_TEMP_8 == 0 72 # define BOOST_PP_SLOT_1_DIGIT_8 0 73 # elif BOOST_PP_SLOT_TEMP_8 == 1 74 # define BOOST_PP_SLOT_1_DIGIT_8 1 75 # elif BOOST_PP_SLOT_TEMP_8 == 2 76 # define BOOST_PP_SLOT_1_DIGIT_8 2 77 # elif BOOST_PP_SLOT_TEMP_8 == 3 78 # define BOOST_PP_SLOT_1_DIGIT_8 3 79 # elif BOOST_PP_SLOT_TEMP_8 == 4 80 # define BOOST_PP_SLOT_1_DIGIT_8 4 81 # elif BOOST_PP_SLOT_TEMP_8 == 5 82 # define BOOST_PP_SLOT_1_DIGIT_8 5 83 # elif BOOST_PP_SLOT_TEMP_8 == 6 84 # define BOOST_PP_SLOT_1_DIGIT_8 6 85 # elif BOOST_PP_SLOT_TEMP_8 == 7 86 # define BOOST_PP_SLOT_1_DIGIT_8 7 87 # elif BOOST_PP_SLOT_TEMP_8 == 8 88 # define BOOST_PP_SLOT_1_DIGIT_8 8 89 # elif BOOST_PP_SLOT_TEMP_8 == 9 90 # define BOOST_PP_SLOT_1_DIGIT_8 9 91 # endif 92 # 93 # if BOOST_PP_SLOT_TEMP_7 == 0 94 # define BOOST_PP_SLOT_1_DIGIT_7 0 95 # elif BOOST_PP_SLOT_TEMP_7 == 1 96 # define BOOST_PP_SLOT_1_DIGIT_7 1 97 # elif BOOST_PP_SLOT_TEMP_7 == 2 98 # define BOOST_PP_SLOT_1_DIGIT_7 2 99 # elif BOOST_PP_SLOT_TEMP_7 == 3 100 # define BOOST_PP_SLOT_1_DIGIT_7 3 101 # elif BOOST_PP_SLOT_TEMP_7 == 4 102 # define BOOST_PP_SLOT_1_DIGIT_7 4 103 # elif BOOST_PP_SLOT_TEMP_7 == 5 104 # define BOOST_PP_SLOT_1_DIGIT_7 5 105 # elif BOOST_PP_SLOT_TEMP_7 == 6 106 # define BOOST_PP_SLOT_1_DIGIT_7 6 107 # elif BOOST_PP_SLOT_TEMP_7 == 7 108 # define BOOST_PP_SLOT_1_DIGIT_7 7 109 # elif BOOST_PP_SLOT_TEMP_7 == 8 110 # define BOOST_PP_SLOT_1_DIGIT_7 8 111 # elif BOOST_PP_SLOT_TEMP_7 == 9 112 # define BOOST_PP_SLOT_1_DIGIT_7 9 113 # endif 114 # 115 # if BOOST_PP_SLOT_TEMP_6 == 0 116 # define BOOST_PP_SLOT_1_DIGIT_6 0 117 # elif BOOST_PP_SLOT_TEMP_6 == 1 118 # define BOOST_PP_SLOT_1_DIGIT_6 1 119 # elif BOOST_PP_SLOT_TEMP_6 == 2 120 # define BOOST_PP_SLOT_1_DIGIT_6 2 121 # elif BOOST_PP_SLOT_TEMP_6 == 3 122 # define BOOST_PP_SLOT_1_DIGIT_6 3 123 # elif BOOST_PP_SLOT_TEMP_6 == 4 124 # define BOOST_PP_SLOT_1_DIGIT_6 4 125 # elif BOOST_PP_SLOT_TEMP_6 == 5 126 # define BOOST_PP_SLOT_1_DIGIT_6 5 127 # elif BOOST_PP_SLOT_TEMP_6 == 6 128 # define BOOST_PP_SLOT_1_DIGIT_6 6 129 # elif BOOST_PP_SLOT_TEMP_6 == 7 130 # define BOOST_PP_SLOT_1_DIGIT_6 7 131 # elif BOOST_PP_SLOT_TEMP_6 == 8 132 # define BOOST_PP_SLOT_1_DIGIT_6 8 133 # elif BOOST_PP_SLOT_TEMP_6 == 9 134 # define BOOST_PP_SLOT_1_DIGIT_6 9 135 # endif 136 # 137 # if BOOST_PP_SLOT_TEMP_5 == 0 138 # define BOOST_PP_SLOT_1_DIGIT_5 0 139 # elif BOOST_PP_SLOT_TEMP_5 == 1 140 # define BOOST_PP_SLOT_1_DIGIT_5 1 141 # elif BOOST_PP_SLOT_TEMP_5 == 2 142 # define BOOST_PP_SLOT_1_DIGIT_5 2 143 # elif BOOST_PP_SLOT_TEMP_5 == 3 144 # define BOOST_PP_SLOT_1_DIGIT_5 3 145 # elif BOOST_PP_SLOT_TEMP_5 == 4 146 # define BOOST_PP_SLOT_1_DIGIT_5 4 147 # elif BOOST_PP_SLOT_TEMP_5 == 5 148 # define BOOST_PP_SLOT_1_DIGIT_5 5 149 # elif BOOST_PP_SLOT_TEMP_5 == 6 150 # define BOOST_PP_SLOT_1_DIGIT_5 6 151 # elif BOOST_PP_SLOT_TEMP_5 == 7 152 # define BOOST_PP_SLOT_1_DIGIT_5 7 153 # elif BOOST_PP_SLOT_TEMP_5 == 8 154 # define BOOST_PP_SLOT_1_DIGIT_5 8 155 # elif BOOST_PP_SLOT_TEMP_5 == 9 156 # define BOOST_PP_SLOT_1_DIGIT_5 9 157 # endif 158 # 159 # if BOOST_PP_SLOT_TEMP_4 == 0 160 # define BOOST_PP_SLOT_1_DIGIT_4 0 161 # elif BOOST_PP_SLOT_TEMP_4 == 1 162 # define BOOST_PP_SLOT_1_DIGIT_4 1 163 # elif BOOST_PP_SLOT_TEMP_4 == 2 164 # define BOOST_PP_SLOT_1_DIGIT_4 2 165 # elif BOOST_PP_SLOT_TEMP_4 == 3 166 # define BOOST_PP_SLOT_1_DIGIT_4 3 167 # elif BOOST_PP_SLOT_TEMP_4 == 4 168 # define BOOST_PP_SLOT_1_DIGIT_4 4 169 # elif BOOST_PP_SLOT_TEMP_4 == 5 170 # define BOOST_PP_SLOT_1_DIGIT_4 5 171 # elif BOOST_PP_SLOT_TEMP_4 == 6 172 # define BOOST_PP_SLOT_1_DIGIT_4 6 173 # elif BOOST_PP_SLOT_TEMP_4 == 7 174 # define BOOST_PP_SLOT_1_DIGIT_4 7 175 # elif BOOST_PP_SLOT_TEMP_4 == 8 176 # define BOOST_PP_SLOT_1_DIGIT_4 8 177 # elif BOOST_PP_SLOT_TEMP_4 == 9 178 # define BOOST_PP_SLOT_1_DIGIT_4 9 179 # endif 180 # 181 # if BOOST_PP_SLOT_TEMP_3 == 0 182 # define BOOST_PP_SLOT_1_DIGIT_3 0 183 # elif BOOST_PP_SLOT_TEMP_3 == 1 184 # define BOOST_PP_SLOT_1_DIGIT_3 1 185 # elif BOOST_PP_SLOT_TEMP_3 == 2 186 # define BOOST_PP_SLOT_1_DIGIT_3 2 187 # elif BOOST_PP_SLOT_TEMP_3 == 3 188 # define BOOST_PP_SLOT_1_DIGIT_3 3 189 # elif BOOST_PP_SLOT_TEMP_3 == 4 190 # define BOOST_PP_SLOT_1_DIGIT_3 4 191 # elif BOOST_PP_SLOT_TEMP_3 == 5 192 # define BOOST_PP_SLOT_1_DIGIT_3 5 193 # elif BOOST_PP_SLOT_TEMP_3 == 6 194 # define BOOST_PP_SLOT_1_DIGIT_3 6 195 # elif BOOST_PP_SLOT_TEMP_3 == 7 196 # define BOOST_PP_SLOT_1_DIGIT_3 7 197 # elif BOOST_PP_SLOT_TEMP_3 == 8 198 # define BOOST_PP_SLOT_1_DIGIT_3 8 199 # elif BOOST_PP_SLOT_TEMP_3 == 9 200 # define BOOST_PP_SLOT_1_DIGIT_3 9 201 # endif 202 # 203 # if BOOST_PP_SLOT_TEMP_2 == 0 204 # define BOOST_PP_SLOT_1_DIGIT_2 0 205 # elif BOOST_PP_SLOT_TEMP_2 == 1 206 # define BOOST_PP_SLOT_1_DIGIT_2 1 207 # elif BOOST_PP_SLOT_TEMP_2 == 2 208 # define BOOST_PP_SLOT_1_DIGIT_2 2 209 # elif BOOST_PP_SLOT_TEMP_2 == 3 210 # define BOOST_PP_SLOT_1_DIGIT_2 3 211 # elif BOOST_PP_SLOT_TEMP_2 == 4 212 # define BOOST_PP_SLOT_1_DIGIT_2 4 213 # elif BOOST_PP_SLOT_TEMP_2 == 5 214 # define BOOST_PP_SLOT_1_DIGIT_2 5 215 # elif BOOST_PP_SLOT_TEMP_2 == 6 216 # define BOOST_PP_SLOT_1_DIGIT_2 6 217 # elif BOOST_PP_SLOT_TEMP_2 == 7 218 # define BOOST_PP_SLOT_1_DIGIT_2 7 219 # elif BOOST_PP_SLOT_TEMP_2 == 8 220 # define BOOST_PP_SLOT_1_DIGIT_2 8 221 # elif BOOST_PP_SLOT_TEMP_2 == 9 222 # define BOOST_PP_SLOT_1_DIGIT_2 9 223 # endif 224 # 225 # if BOOST_PP_SLOT_TEMP_1 == 0 226 # define BOOST_PP_SLOT_1_DIGIT_1 0 227 # elif BOOST_PP_SLOT_TEMP_1 == 1 228 # define BOOST_PP_SLOT_1_DIGIT_1 1 229 # elif BOOST_PP_SLOT_TEMP_1 == 2 230 # define BOOST_PP_SLOT_1_DIGIT_1 2 231 # elif BOOST_PP_SLOT_TEMP_1 == 3 232 # define BOOST_PP_SLOT_1_DIGIT_1 3 233 # elif BOOST_PP_SLOT_TEMP_1 == 4 234 # define BOOST_PP_SLOT_1_DIGIT_1 4 235 # elif BOOST_PP_SLOT_TEMP_1 == 5 236 # define BOOST_PP_SLOT_1_DIGIT_1 5 237 # elif BOOST_PP_SLOT_TEMP_1 == 6 238 # define BOOST_PP_SLOT_1_DIGIT_1 6 239 # elif BOOST_PP_SLOT_TEMP_1 == 7 240 # define BOOST_PP_SLOT_1_DIGIT_1 7 241 # elif BOOST_PP_SLOT_TEMP_1 == 8 242 # define BOOST_PP_SLOT_1_DIGIT_1 8 243 # elif BOOST_PP_SLOT_TEMP_1 == 9 244 # define BOOST_PP_SLOT_1_DIGIT_1 9 245 # endif 246 # 247 # if BOOST_PP_SLOT_1_DIGIT_10 248 # define BOOST_PP_SLOT_1() BOOST_PP_SLOT_CC_10(BOOST_PP_SLOT_1_DIGIT_10, BOOST_PP_SLOT_1_DIGIT_9, BOOST_PP_SLOT_1_DIGIT_8, BOOST_PP_SLOT_1_DIGIT_7, BOOST_PP_SLOT_1_DIGIT_6, BOOST_PP_SLOT_1_DIGIT_5, BOOST_PP_SLOT_1_DIGIT_4, BOOST_PP_SLOT_1_DIGIT_3, BOOST_PP_SLOT_1_DIGIT_2, BOOST_PP_SLOT_1_DIGIT_1) 249 # elif BOOST_PP_SLOT_1_DIGIT_9 250 # define BOOST_PP_SLOT_1() BOOST_PP_SLOT_CC_9(BOOST_PP_SLOT_1_DIGIT_9, BOOST_PP_SLOT_1_DIGIT_8, BOOST_PP_SLOT_1_DIGIT_7, BOOST_PP_SLOT_1_DIGIT_6, BOOST_PP_SLOT_1_DIGIT_5, BOOST_PP_SLOT_1_DIGIT_4, BOOST_PP_SLOT_1_DIGIT_3, BOOST_PP_SLOT_1_DIGIT_2, BOOST_PP_SLOT_1_DIGIT_1) 251 # elif BOOST_PP_SLOT_1_DIGIT_8 252 # define BOOST_PP_SLOT_1() BOOST_PP_SLOT_CC_8(BOOST_PP_SLOT_1_DIGIT_8, BOOST_PP_SLOT_1_DIGIT_7, BOOST_PP_SLOT_1_DIGIT_6, BOOST_PP_SLOT_1_DIGIT_5, BOOST_PP_SLOT_1_DIGIT_4, BOOST_PP_SLOT_1_DIGIT_3, BOOST_PP_SLOT_1_DIGIT_2, BOOST_PP_SLOT_1_DIGIT_1) 253 # elif BOOST_PP_SLOT_1_DIGIT_7 254 # define BOOST_PP_SLOT_1() BOOST_PP_SLOT_CC_7(BOOST_PP_SLOT_1_DIGIT_7, BOOST_PP_SLOT_1_DIGIT_6, BOOST_PP_SLOT_1_DIGIT_5, BOOST_PP_SLOT_1_DIGIT_4, BOOST_PP_SLOT_1_DIGIT_3, BOOST_PP_SLOT_1_DIGIT_2, BOOST_PP_SLOT_1_DIGIT_1) 255 # elif BOOST_PP_SLOT_1_DIGIT_6 256 # define BOOST_PP_SLOT_1() BOOST_PP_SLOT_CC_6(BOOST_PP_SLOT_1_DIGIT_6, BOOST_PP_SLOT_1_DIGIT_5, BOOST_PP_SLOT_1_DIGIT_4, BOOST_PP_SLOT_1_DIGIT_3, BOOST_PP_SLOT_1_DIGIT_2, BOOST_PP_SLOT_1_DIGIT_1) 257 # elif BOOST_PP_SLOT_1_DIGIT_5 258 # define BOOST_PP_SLOT_1() BOOST_PP_SLOT_CC_5(BOOST_PP_SLOT_1_DIGIT_5, BOOST_PP_SLOT_1_DIGIT_4, BOOST_PP_SLOT_1_DIGIT_3, BOOST_PP_SLOT_1_DIGIT_2, BOOST_PP_SLOT_1_DIGIT_1) 259 # elif BOOST_PP_SLOT_1_DIGIT_4 260 # define BOOST_PP_SLOT_1() BOOST_PP_SLOT_CC_4(BOOST_PP_SLOT_1_DIGIT_4, BOOST_PP_SLOT_1_DIGIT_3, BOOST_PP_SLOT_1_DIGIT_2, BOOST_PP_SLOT_1_DIGIT_1) 261 # elif BOOST_PP_SLOT_1_DIGIT_3 262 # define BOOST_PP_SLOT_1() BOOST_PP_SLOT_CC_3(BOOST_PP_SLOT_1_DIGIT_3, BOOST_PP_SLOT_1_DIGIT_2, BOOST_PP_SLOT_1_DIGIT_1) 263 # elif BOOST_PP_SLOT_1_DIGIT_2 264 # define BOOST_PP_SLOT_1() BOOST_PP_SLOT_CC_2(BOOST_PP_SLOT_1_DIGIT_2, BOOST_PP_SLOT_1_DIGIT_1) 265 # else 266 # define BOOST_PP_SLOT_1() BOOST_PP_SLOT_1_DIGIT_1 267 # endif 268