File indexing completed on 2025-01-18 09:41:06
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012 namespace boost { namespace mpl {
0013
0014 template<
0015 int N, typename F
0016 >
0017 struct apply_wrap_impl0;
0018
0019 template<
0020 typename F
0021 >
0022 struct apply_wrap_impl0<
0023 0
0024 , F
0025
0026 >
0027 {
0028 typedef typename F::template apply<
0029
0030
0031
0032 na
0033 > type;
0034 };
0035
0036 template<
0037 typename F
0038 >
0039 struct apply_wrap_impl0<
0040 1
0041 , F
0042
0043 >
0044 {
0045 typedef typename F::template apply<
0046
0047 na
0048 > type;
0049 };
0050
0051 template<
0052 typename F
0053 >
0054 struct apply_wrap_impl0<
0055 2
0056 , F
0057
0058 >
0059 {
0060 typedef typename F::template apply<
0061
0062 na, na
0063
0064 > type;
0065 };
0066
0067 template<
0068 typename F
0069 >
0070 struct apply_wrap_impl0<
0071 3
0072 , F
0073
0074 >
0075 {
0076 typedef typename F::template apply<
0077
0078 na, na, na
0079
0080 > type;
0081 };
0082
0083 template<
0084 typename F
0085 >
0086 struct apply_wrap_impl0<
0087 4
0088 , F
0089
0090 >
0091 {
0092 typedef typename F::template apply<
0093
0094 na, na, na, na
0095
0096 > type;
0097 };
0098
0099 template<
0100 typename F
0101 >
0102 struct apply_wrap_impl0<
0103 5
0104 , F
0105
0106 >
0107 {
0108 typedef typename F::template apply<
0109
0110 na, na, na, na, na
0111
0112 > type;
0113 };
0114
0115 template<
0116 typename F
0117 >
0118 struct apply_wrap0
0119 : apply_wrap_impl0<
0120 ::boost::mpl::aux::arity< F,0 >::value
0121 , F
0122
0123 >::type
0124 {
0125 };
0126
0127 template<
0128 int N, typename F, typename T1
0129 >
0130 struct apply_wrap_impl1;
0131
0132 template<
0133 typename F, typename T1
0134 >
0135 struct apply_wrap_impl1<
0136 1
0137 , F
0138 , T1
0139 >
0140 {
0141 typedef typename F::template apply<
0142 T1
0143 > type;
0144 };
0145
0146 template<
0147 typename F, typename T1
0148 >
0149 struct apply_wrap_impl1<
0150 2
0151 , F
0152 , T1
0153 >
0154 {
0155 typedef typename F::template apply<
0156 T1
0157 , na
0158
0159 > type;
0160 };
0161
0162 template<
0163 typename F, typename T1
0164 >
0165 struct apply_wrap_impl1<
0166 3
0167 , F
0168 , T1
0169 >
0170 {
0171 typedef typename F::template apply<
0172 T1
0173 , na, na
0174
0175 > type;
0176 };
0177
0178 template<
0179 typename F, typename T1
0180 >
0181 struct apply_wrap_impl1<
0182 4
0183 , F
0184 , T1
0185 >
0186 {
0187 typedef typename F::template apply<
0188 T1
0189 , na, na, na
0190
0191 > type;
0192 };
0193
0194 template<
0195 typename F, typename T1
0196 >
0197 struct apply_wrap_impl1<
0198 5
0199 , F
0200 , T1
0201 >
0202 {
0203 typedef typename F::template apply<
0204 T1
0205 , na, na, na, na
0206
0207 > type;
0208 };
0209
0210 template<
0211 typename F, typename T1
0212 >
0213 struct apply_wrap1
0214 : apply_wrap_impl1<
0215 ::boost::mpl::aux::arity< F,1 >::value
0216 , F
0217 , T1
0218 >::type
0219 {
0220 };
0221
0222 template<
0223 int N, typename F, typename T1, typename T2
0224 >
0225 struct apply_wrap_impl2;
0226
0227 template<
0228 typename F, typename T1, typename T2
0229 >
0230 struct apply_wrap_impl2<
0231 2
0232 , F
0233 , T1, T2
0234 >
0235 {
0236 typedef typename F::template apply<
0237 T1, T2
0238
0239 > type;
0240 };
0241
0242 template<
0243 typename F, typename T1, typename T2
0244 >
0245 struct apply_wrap_impl2<
0246 3
0247 , F
0248 , T1, T2
0249 >
0250 {
0251 typedef typename F::template apply<
0252 T1, T2
0253
0254 , na
0255
0256 > type;
0257 };
0258
0259 template<
0260 typename F, typename T1, typename T2
0261 >
0262 struct apply_wrap_impl2<
0263 4
0264 , F
0265 , T1, T2
0266 >
0267 {
0268 typedef typename F::template apply<
0269 T1, T2
0270
0271 , na, na
0272
0273 > type;
0274 };
0275
0276 template<
0277 typename F, typename T1, typename T2
0278 >
0279 struct apply_wrap_impl2<
0280 5
0281 , F
0282 , T1, T2
0283 >
0284 {
0285 typedef typename F::template apply<
0286 T1, T2
0287
0288 , na, na, na
0289
0290 > type;
0291 };
0292
0293 template<
0294 typename F, typename T1, typename T2
0295 >
0296 struct apply_wrap2
0297 : apply_wrap_impl2<
0298 ::boost::mpl::aux::arity< F,2 >::value
0299 , F
0300 , T1, T2
0301 >::type
0302 {
0303 };
0304
0305 template<
0306 int N, typename F, typename T1, typename T2, typename T3
0307 >
0308 struct apply_wrap_impl3;
0309
0310 template<
0311 typename F, typename T1, typename T2, typename T3
0312 >
0313 struct apply_wrap_impl3<
0314 3
0315 , F
0316 , T1, T2, T3
0317 >
0318 {
0319 typedef typename F::template apply<
0320 T1, T2, T3
0321
0322 > type;
0323 };
0324
0325 template<
0326 typename F, typename T1, typename T2, typename T3
0327 >
0328 struct apply_wrap_impl3<
0329 4
0330 , F
0331 , T1, T2, T3
0332 >
0333 {
0334 typedef typename F::template apply<
0335 T1, T2, T3
0336
0337 , na
0338
0339 > type;
0340 };
0341
0342 template<
0343 typename F, typename T1, typename T2, typename T3
0344 >
0345 struct apply_wrap_impl3<
0346 5
0347 , F
0348 , T1, T2, T3
0349 >
0350 {
0351 typedef typename F::template apply<
0352 T1, T2, T3
0353
0354 , na, na
0355
0356 > type;
0357 };
0358
0359 template<
0360 typename F, typename T1, typename T2, typename T3
0361 >
0362 struct apply_wrap3
0363 : apply_wrap_impl3<
0364 ::boost::mpl::aux::arity< F,3 >::value
0365 , F
0366 , T1, T2, T3
0367 >::type
0368 {
0369 };
0370
0371 template<
0372 int N, typename F, typename T1, typename T2, typename T3, typename T4
0373 >
0374 struct apply_wrap_impl4;
0375
0376 template<
0377 typename F, typename T1, typename T2, typename T3, typename T4
0378 >
0379 struct apply_wrap_impl4<
0380 4
0381 , F
0382 , T1, T2, T3, T4
0383 >
0384 {
0385 typedef typename F::template apply<
0386 T1, T2, T3, T4
0387
0388 > type;
0389 };
0390
0391 template<
0392 typename F, typename T1, typename T2, typename T3, typename T4
0393 >
0394 struct apply_wrap_impl4<
0395 5
0396 , F
0397 , T1, T2, T3, T4
0398 >
0399 {
0400 typedef typename F::template apply<
0401 T1, T2, T3, T4
0402
0403 , na
0404
0405 > type;
0406 };
0407
0408 template<
0409 typename F, typename T1, typename T2, typename T3, typename T4
0410 >
0411 struct apply_wrap4
0412 : apply_wrap_impl4<
0413 ::boost::mpl::aux::arity< F,4 >::value
0414 , F
0415 , T1, T2, T3, T4
0416 >::type
0417 {
0418 };
0419
0420 template<
0421 int N, typename F, typename T1, typename T2, typename T3, typename T4
0422 , typename T5
0423 >
0424 struct apply_wrap_impl5;
0425
0426 template<
0427 typename F, typename T1, typename T2, typename T3, typename T4
0428 , typename T5
0429 >
0430 struct apply_wrap_impl5<
0431 5
0432 , F
0433 , T1, T2, T3, T4, T5
0434 >
0435 {
0436 typedef typename F::template apply<
0437 T1, T2, T3, T4, T5
0438
0439 > type;
0440 };
0441
0442 template<
0443 typename F, typename T1, typename T2, typename T3, typename T4
0444 , typename T5
0445 >
0446 struct apply_wrap5
0447 : apply_wrap_impl5<
0448 ::boost::mpl::aux::arity< F,5 >::value
0449 , F
0450 , T1, T2, T3, T4, T5
0451 >::type
0452 {
0453 };
0454
0455 }}
0456