File indexing completed on 2025-01-30 09:35:41
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023 #ifndef BOOST_FORMAT_GROUP_HPP
0024 #define BOOST_FORMAT_GROUP_HPP
0025
0026 #include <boost/config.hpp>
0027
0028
0029 namespace boost {
0030 namespace io {
0031
0032
0033 namespace detail {
0034
0035
0036
0037 struct group0
0038 {
0039 group0() {}
0040 };
0041
0042 template <class Ch, class Tr>
0043 inline
0044 BOOST_IO_STD basic_ostream<Ch, Tr>&
0045 operator << ( BOOST_IO_STD basic_ostream<Ch, Tr>& os,
0046 const group0& )
0047 {
0048 return os;
0049 }
0050
0051 template <class T1>
0052 struct group1
0053 {
0054 T1 a1_;
0055 group1(T1 a1)
0056 : a1_(a1)
0057 {}
0058 private:
0059 group1& operator=(const group1&);
0060 };
0061
0062 template <class Ch, class Tr, class T1>
0063 inline
0064 BOOST_IO_STD basic_ostream<Ch, Tr>&
0065 operator << (BOOST_IO_STD basic_ostream<Ch, Tr>& os,
0066 const group1<T1>& x)
0067 {
0068 os << x.a1_;
0069 return os;
0070 }
0071
0072
0073
0074
0075 template <class T1,class T2>
0076 struct group2
0077 {
0078 T1 a1_;
0079 T2 a2_;
0080 group2(T1 a1,T2 a2)
0081 : a1_(a1),a2_(a2)
0082 {}
0083 private:
0084 group2& operator=(const group2&);
0085 };
0086
0087 template <class Ch, class Tr, class T1,class T2>
0088 inline
0089 BOOST_IO_STD basic_ostream<Ch, Tr>&
0090 operator << (BOOST_IO_STD basic_ostream<Ch, Tr>& os,
0091 const group2<T1,T2>& x)
0092 {
0093 os << x.a1_<< x.a2_;
0094 return os;
0095 }
0096
0097 template <class T1,class T2,class T3>
0098 struct group3
0099 {
0100 T1 a1_;
0101 T2 a2_;
0102 T3 a3_;
0103 group3(T1 a1,T2 a2,T3 a3)
0104 : a1_(a1),a2_(a2),a3_(a3)
0105 {}
0106 private:
0107 group3& operator=(const group3&);
0108 };
0109
0110 template <class Ch, class Tr, class T1,class T2,class T3>
0111 inline
0112 BOOST_IO_STD basic_ostream<Ch, Tr>&
0113 operator << (BOOST_IO_STD basic_ostream<Ch, Tr>& os,
0114 const group3<T1,T2,T3>& x)
0115 {
0116 os << x.a1_<< x.a2_<< x.a3_;
0117 return os;
0118 }
0119
0120 template <class T1,class T2,class T3,class T4>
0121 struct group4
0122 {
0123 T1 a1_;
0124 T2 a2_;
0125 T3 a3_;
0126 T4 a4_;
0127 group4(T1 a1,T2 a2,T3 a3,T4 a4)
0128 : a1_(a1),a2_(a2),a3_(a3),a4_(a4)
0129 {}
0130 private:
0131 group4& operator=(const group4&);
0132 };
0133
0134 template <class Ch, class Tr, class T1,class T2,class T3,class T4>
0135 inline
0136 BOOST_IO_STD basic_ostream<Ch, Tr>&
0137 operator << (BOOST_IO_STD basic_ostream<Ch, Tr>& os,
0138 const group4<T1,T2,T3,T4>& x)
0139 {
0140 os << x.a1_<< x.a2_<< x.a3_<< x.a4_;
0141 return os;
0142 }
0143
0144 template <class T1,class T2,class T3,class T4,class T5>
0145 struct group5
0146 {
0147 T1 a1_;
0148 T2 a2_;
0149 T3 a3_;
0150 T4 a4_;
0151 T5 a5_;
0152 group5(T1 a1,T2 a2,T3 a3,T4 a4,T5 a5)
0153 : a1_(a1),a2_(a2),a3_(a3),a4_(a4),a5_(a5)
0154 {}
0155 };
0156
0157 template <class Ch, class Tr, class T1,class T2,class T3,class T4,class T5>
0158 inline
0159 BOOST_IO_STD basic_ostream<Ch, Tr>&
0160 operator << (BOOST_IO_STD basic_ostream<Ch, Tr>& os,
0161 const group5<T1,T2,T3,T4,T5>& x)
0162 {
0163 os << x.a1_<< x.a2_<< x.a3_<< x.a4_<< x.a5_;
0164 return os;
0165 }
0166
0167 template <class T1,class T2,class T3,class T4,class T5,class T6>
0168 struct group6
0169 {
0170 T1 a1_;
0171 T2 a2_;
0172 T3 a3_;
0173 T4 a4_;
0174 T5 a5_;
0175 T6 a6_;
0176 group6(T1 a1,T2 a2,T3 a3,T4 a4,T5 a5,T6 a6)
0177 : a1_(a1),a2_(a2),a3_(a3),a4_(a4),a5_(a5),a6_(a6)
0178 {}
0179 };
0180
0181 template <class Ch, class Tr, class T1,class T2,class T3,class T4,class T5,class T6>
0182 inline
0183 BOOST_IO_STD basic_ostream<Ch, Tr>&
0184 operator << (BOOST_IO_STD basic_ostream<Ch, Tr>& os,
0185 const group6<T1,T2,T3,T4,T5,T6>& x)
0186 {
0187 os << x.a1_<< x.a2_<< x.a3_<< x.a4_<< x.a5_<< x.a6_;
0188 return os;
0189 }
0190
0191 template <class T1,class T2,class T3,class T4,class T5,class T6,class T7>
0192 struct group7
0193 {
0194 T1 a1_;
0195 T2 a2_;
0196 T3 a3_;
0197 T4 a4_;
0198 T5 a5_;
0199 T6 a6_;
0200 T7 a7_;
0201 group7(T1 a1,T2 a2,T3 a3,T4 a4,T5 a5,T6 a6,T7 a7)
0202 : a1_(a1),a2_(a2),a3_(a3),a4_(a4),a5_(a5),a6_(a6),a7_(a7)
0203 {}
0204 };
0205
0206 template <class Ch, class Tr, class T1,class T2,class T3,class T4,class T5,class T6,class T7>
0207 inline
0208 BOOST_IO_STD basic_ostream<Ch, Tr>&
0209 operator << (BOOST_IO_STD basic_ostream<Ch, Tr>& os,
0210 const group7<T1,T2,T3,T4,T5,T6,T7>& x)
0211 {
0212 os << x.a1_<< x.a2_<< x.a3_<< x.a4_<< x.a5_<< x.a6_<< x.a7_;
0213 return os;
0214 }
0215
0216 template <class T1,class T2,class T3,class T4,class T5,class T6,class T7,class T8>
0217 struct group8
0218 {
0219 T1 a1_;
0220 T2 a2_;
0221 T3 a3_;
0222 T4 a4_;
0223 T5 a5_;
0224 T6 a6_;
0225 T7 a7_;
0226 T8 a8_;
0227 group8(T1 a1,T2 a2,T3 a3,T4 a4,T5 a5,T6 a6,T7 a7,T8 a8)
0228 : a1_(a1),a2_(a2),a3_(a3),a4_(a4),a5_(a5),a6_(a6),a7_(a7),a8_(a8)
0229 {}
0230 };
0231
0232 template <class Ch, class Tr, class T1,class T2,class T3,class T4,class T5,class T6,class T7,class T8>
0233 inline
0234 BOOST_IO_STD basic_ostream<Ch, Tr>&
0235 operator << (BOOST_IO_STD basic_ostream<Ch, Tr>& os,
0236 const group8<T1,T2,T3,T4,T5,T6,T7,T8>& x)
0237 {
0238 os << x.a1_<< x.a2_<< x.a3_<< x.a4_<< x.a5_<< x.a6_<< x.a7_<< x.a8_;
0239 return os;
0240 }
0241
0242 template <class T1,class T2,class T3,class T4,class T5,class T6,class T7,class T8,class T9>
0243 struct group9
0244 {
0245 T1 a1_;
0246 T2 a2_;
0247 T3 a3_;
0248 T4 a4_;
0249 T5 a5_;
0250 T6 a6_;
0251 T7 a7_;
0252 T8 a8_;
0253 T9 a9_;
0254 group9(T1 a1,T2 a2,T3 a3,T4 a4,T5 a5,T6 a6,T7 a7,T8 a8,T9 a9)
0255 : a1_(a1),a2_(a2),a3_(a3),a4_(a4),a5_(a5),a6_(a6),a7_(a7),a8_(a8),a9_(a9)
0256 {}
0257 };
0258
0259 template <class Ch, class Tr, class T1,class T2,class T3,class T4,class T5,class T6,class T7,class T8,class T9>
0260 inline
0261 BOOST_IO_STD basic_ostream<Ch, Tr>&
0262 operator << (BOOST_IO_STD basic_ostream<Ch, Tr>& os,
0263 const group9<T1,T2,T3,T4,T5,T6,T7,T8,T9>& x)
0264 {
0265 os << x.a1_<< x.a2_<< x.a3_<< x.a4_<< x.a5_<< x.a6_<< x.a7_<< x.a8_<< x.a9_;
0266 return os;
0267 }
0268
0269 template <class T1,class T2,class T3,class T4,class T5,class T6,class T7,class T8,class T9,class T10>
0270 struct group10
0271 {
0272 T1 a1_;
0273 T2 a2_;
0274 T3 a3_;
0275 T4 a4_;
0276 T5 a5_;
0277 T6 a6_;
0278 T7 a7_;
0279 T8 a8_;
0280 T9 a9_;
0281 T10 a10_;
0282 group10(T1 a1,T2 a2,T3 a3,T4 a4,T5 a5,T6 a6,T7 a7,T8 a8,T9 a9,T10 a10)
0283 : a1_(a1),a2_(a2),a3_(a3),a4_(a4),a5_(a5),a6_(a6),a7_(a7),a8_(a8),a9_(a9),a10_(a10)
0284 {}
0285 };
0286
0287 template <class Ch, class Tr, class T1,class T2,class T3,class T4,class T5,class T6,class T7,class T8,class T9,class T10>
0288 inline
0289 BOOST_IO_STD basic_ostream<Ch, Tr>&
0290 operator << (BOOST_IO_STD basic_ostream<Ch, Tr>& os,
0291 const group10<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10>& x)
0292 {
0293 os << x.a1_<< x.a2_<< x.a3_<< x.a4_<< x.a5_<< x.a6_<< x.a7_<< x.a8_<< x.a9_<< x.a10_;
0294 return os;
0295 }
0296
0297
0298
0299
0300 template <class T1,class T2>
0301 inline
0302 group1<T1>
0303 group_head( group2<T1,T2> const& x)
0304 {
0305 return group1<T1> (x.a1_);
0306 }
0307
0308 template <class T1,class T2>
0309 inline
0310 group1<T2>
0311 group_last( group2<T1,T2> const& x)
0312 {
0313 return group1<T2> (x.a2_);
0314 }
0315
0316
0317
0318 template <class T1,class T2,class T3>
0319 inline
0320 group2<T1,T2>
0321 group_head( group3<T1,T2,T3> const& x)
0322 {
0323 return group2<T1,T2> (x.a1_,x.a2_);
0324 }
0325
0326 template <class T1,class T2,class T3>
0327 inline
0328 group1<T3>
0329 group_last( group3<T1,T2,T3> const& x)
0330 {
0331 return group1<T3> (x.a3_);
0332 }
0333
0334
0335
0336 template <class T1,class T2,class T3,class T4>
0337 inline
0338 group3<T1,T2,T3>
0339 group_head( group4<T1,T2,T3,T4> const& x)
0340 {
0341 return group3<T1,T2,T3> (x.a1_,x.a2_,x.a3_);
0342 }
0343
0344 template <class T1,class T2,class T3,class T4>
0345 inline
0346 group1<T4>
0347 group_last( group4<T1,T2,T3,T4> const& x)
0348 {
0349 return group1<T4> (x.a4_);
0350 }
0351
0352
0353
0354 template <class T1,class T2,class T3,class T4,class T5>
0355 inline
0356 group4<T1,T2,T3,T4>
0357 group_head( group5<T1,T2,T3,T4,T5> const& x)
0358 {
0359 return group4<T1,T2,T3,T4> (x.a1_,x.a2_,x.a3_,x.a4_);
0360 }
0361
0362 template <class T1,class T2,class T3,class T4,class T5>
0363 inline
0364 group1<T5>
0365 group_last( group5<T1,T2,T3,T4,T5> const& x)
0366 {
0367 return group1<T5> (x.a5_);
0368 }
0369
0370
0371
0372 template <class T1,class T2,class T3,class T4,class T5,class T6>
0373 inline
0374 group5<T1,T2,T3,T4,T5>
0375 group_head( group6<T1,T2,T3,T4,T5,T6> const& x)
0376 {
0377 return group5<T1,T2,T3,T4,T5> (x.a1_,x.a2_,x.a3_,x.a4_,x.a5_);
0378 }
0379
0380 template <class T1,class T2,class T3,class T4,class T5,class T6>
0381 inline
0382 group1<T6>
0383 group_last( group6<T1,T2,T3,T4,T5,T6> const& x)
0384 {
0385 return group1<T6> (x.a6_);
0386 }
0387
0388
0389
0390 template <class T1,class T2,class T3,class T4,class T5,class T6,class T7>
0391 inline
0392 group6<T1,T2,T3,T4,T5,T6>
0393 group_head( group7<T1,T2,T3,T4,T5,T6,T7> const& x)
0394 {
0395 return group6<T1,T2,T3,T4,T5,T6> (x.a1_,x.a2_,x.a3_,x.a4_,x.a5_,x.a6_);
0396 }
0397
0398 template <class T1,class T2,class T3,class T4,class T5,class T6,class T7>
0399 inline
0400 group1<T7>
0401 group_last( group7<T1,T2,T3,T4,T5,T6,T7> const& x)
0402 {
0403 return group1<T7> (x.a7_);
0404 }
0405
0406
0407
0408 template <class T1,class T2,class T3,class T4,class T5,class T6,class T7,class T8>
0409 inline
0410 group7<T1,T2,T3,T4,T5,T6,T7>
0411 group_head( group8<T1,T2,T3,T4,T5,T6,T7,T8> const& x)
0412 {
0413 return group7<T1,T2,T3,T4,T5,T6,T7> (x.a1_,x.a2_,x.a3_,x.a4_,x.a5_,x.a6_,x.a7_);
0414 }
0415
0416 template <class T1,class T2,class T3,class T4,class T5,class T6,class T7,class T8>
0417 inline
0418 group1<T8>
0419 group_last( group8<T1,T2,T3,T4,T5,T6,T7,T8> const& x)
0420 {
0421 return group1<T8> (x.a8_);
0422 }
0423
0424
0425
0426 template <class T1,class T2,class T3,class T4,class T5,class T6,class T7,class T8,class T9>
0427 inline
0428 group8<T1,T2,T3,T4,T5,T6,T7,T8>
0429 group_head( group9<T1,T2,T3,T4,T5,T6,T7,T8,T9> const& x)
0430 {
0431 return group8<T1,T2,T3,T4,T5,T6,T7,T8> (x.a1_,x.a2_,x.a3_,x.a4_,x.a5_,x.a6_,x.a7_,x.a8_);
0432 }
0433
0434 template <class T1,class T2,class T3,class T4,class T5,class T6,class T7,class T8,class T9>
0435 inline
0436 group1<T9>
0437 group_last( group9<T1,T2,T3,T4,T5,T6,T7,T8,T9> const& x)
0438 {
0439 return group1<T9> (x.a9_);
0440 }
0441
0442
0443
0444 template <class T1,class T2,class T3,class T4,class T5,class T6,class T7,class T8,class T9,class T10>
0445 inline
0446 group9<T1,T2,T3,T4,T5,T6,T7,T8,T9>
0447 group_head( group10<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10> const& x)
0448 {
0449 return group9<T1,T2,T3,T4,T5,T6,T7,T8,T9> (x.a1_,x.a2_,x.a3_,x.a4_,x.a5_,x.a6_,x.a7_,x.a8_,x.a9_);
0450 }
0451
0452 template <class T1,class T2,class T3,class T4,class T5,class T6,class T7,class T8,class T9,class T10>
0453 inline
0454 group1<T10>
0455 group_last( group10<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10> const& x)
0456 {
0457 return group1<T10> (x.a10_);
0458 }
0459
0460
0461
0462
0463
0464 }
0465
0466
0467
0468
0469
0470
0471 inline detail::group1< detail::group0 >
0472 group() { return detail::group1< detail::group0 > ( detail::group0() ); }
0473
0474 template <class T1, class Var>
0475 inline
0476 detail::group1< detail::group2<T1, Var const&> >
0477 group(T1 a1, Var const& var)
0478 {
0479 return detail::group1< detail::group2<T1, Var const&> >
0480 ( detail::group2<T1, Var const&>
0481 (a1, var)
0482 );
0483 }
0484
0485 template <class T1,class T2, class Var>
0486 inline
0487 detail::group1< detail::group3<T1,T2, Var const&> >
0488 group(T1 a1,T2 a2, Var const& var)
0489 {
0490 return detail::group1< detail::group3<T1,T2, Var const&> >
0491 ( detail::group3<T1,T2, Var const&>
0492 (a1,a2, var)
0493 );
0494 }
0495
0496 template <class T1,class T2,class T3, class Var>
0497 inline
0498 detail::group1< detail::group4<T1,T2,T3, Var const&> >
0499 group(T1 a1,T2 a2,T3 a3, Var const& var)
0500 {
0501 return detail::group1< detail::group4<T1,T2,T3, Var const&> >
0502 ( detail::group4<T1,T2,T3, Var const&>
0503 (a1,a2,a3, var)
0504 );
0505 }
0506
0507 template <class T1,class T2,class T3,class T4, class Var>
0508 inline
0509 detail::group1< detail::group5<T1,T2,T3,T4, Var const&> >
0510 group(T1 a1,T2 a2,T3 a3,T4 a4, Var const& var)
0511 {
0512 return detail::group1< detail::group5<T1,T2,T3,T4, Var const&> >
0513 ( detail::group5<T1,T2,T3,T4, Var const&>
0514 (a1,a2,a3,a4, var)
0515 );
0516 }
0517
0518 template <class T1,class T2,class T3,class T4,class T5, class Var>
0519 inline
0520 detail::group1< detail::group6<T1,T2,T3,T4,T5, Var const&> >
0521 group(T1 a1,T2 a2,T3 a3,T4 a4,T5 a5, Var const& var)
0522 {
0523 return detail::group1< detail::group6<T1,T2,T3,T4,T5, Var const&> >
0524 ( detail::group6<T1,T2,T3,T4,T5, Var const&>
0525 (a1,a2,a3,a4,a5, var)
0526 );
0527 }
0528
0529 template <class T1,class T2,class T3,class T4,class T5,class T6, class Var>
0530 inline
0531 detail::group1< detail::group7<T1,T2,T3,T4,T5,T6, Var const&> >
0532 group(T1 a1,T2 a2,T3 a3,T4 a4,T5 a5,T6 a6, Var const& var)
0533 {
0534 return detail::group1< detail::group7<T1,T2,T3,T4,T5,T6, Var const&> >
0535 ( detail::group7<T1,T2,T3,T4,T5,T6, Var const&>
0536 (a1,a2,a3,a4,a5,a6, var)
0537 );
0538 }
0539
0540 template <class T1,class T2,class T3,class T4,class T5,class T6,class T7, class Var>
0541 inline
0542 detail::group1< detail::group8<T1,T2,T3,T4,T5,T6,T7, Var const&> >
0543 group(T1 a1,T2 a2,T3 a3,T4 a4,T5 a5,T6 a6,T7 a7, Var const& var)
0544 {
0545 return detail::group1< detail::group8<T1,T2,T3,T4,T5,T6,T7, Var const&> >
0546 ( detail::group8<T1,T2,T3,T4,T5,T6,T7, Var const&>
0547 (a1,a2,a3,a4,a5,a6,a7, var)
0548 );
0549 }
0550
0551 template <class T1,class T2,class T3,class T4,class T5,class T6,class T7,class T8, class Var>
0552 inline
0553 detail::group1< detail::group9<T1,T2,T3,T4,T5,T6,T7,T8, Var const&> >
0554 group(T1 a1,T2 a2,T3 a3,T4 a4,T5 a5,T6 a6,T7 a7,T8 a8, Var const& var)
0555 {
0556 return detail::group1< detail::group9<T1,T2,T3,T4,T5,T6,T7,T8, Var const&> >
0557 ( detail::group9<T1,T2,T3,T4,T5,T6,T7,T8, Var const&>
0558 (a1,a2,a3,a4,a5,a6,a7,a8, var)
0559 );
0560 }
0561
0562 template <class T1,class T2,class T3,class T4,class T5,class T6,class T7,class T8,class T9, class Var>
0563 inline
0564 detail::group1< detail::group10<T1,T2,T3,T4,T5,T6,T7,T8,T9, Var const&> >
0565 group(T1 a1,T2 a2,T3 a3,T4 a4,T5 a5,T6 a6,T7 a7,T8 a8,T9 a9, Var const& var)
0566 {
0567 return detail::group1< detail::group10<T1,T2,T3,T4,T5,T6,T7,T8,T9, Var const&> >
0568 ( detail::group10<T1,T2,T3,T4,T5,T6,T7,T8,T9, Var const&>
0569 (a1,a2,a3,a4,a5,a6,a7,a8,a9, var)
0570 );
0571 }
0572
0573
0574 #ifndef BOOST_NO_OVERLOAD_FOR_NON_CONST
0575
0576 template <class T1, class Var>
0577 inline
0578 detail::group1< detail::group2<T1, Var&> >
0579 group(T1 a1, Var& var)
0580 {
0581 return detail::group1< detail::group2<T1, Var&> >
0582 ( detail::group2<T1, Var&>
0583 (a1, var)
0584 );
0585 }
0586
0587 template <class T1,class T2, class Var>
0588 inline
0589 detail::group1< detail::group3<T1,T2, Var&> >
0590 group(T1 a1,T2 a2, Var& var)
0591 {
0592 return detail::group1< detail::group3<T1,T2, Var&> >
0593 ( detail::group3<T1,T2, Var&>
0594 (a1,a2, var)
0595 );
0596 }
0597
0598 template <class T1,class T2,class T3, class Var>
0599 inline
0600 detail::group1< detail::group4<T1,T2,T3, Var&> >
0601 group(T1 a1,T2 a2,T3 a3, Var& var)
0602 {
0603 return detail::group1< detail::group4<T1,T2,T3, Var&> >
0604 ( detail::group4<T1,T2,T3, Var&>
0605 (a1,a2,a3, var)
0606 );
0607 }
0608
0609 template <class T1,class T2,class T3,class T4, class Var>
0610 inline
0611 detail::group1< detail::group5<T1,T2,T3,T4, Var&> >
0612 group(T1 a1,T2 a2,T3 a3,T4 a4, Var& var)
0613 {
0614 return detail::group1< detail::group5<T1,T2,T3,T4, Var&> >
0615 ( detail::group5<T1,T2,T3,T4, Var&>
0616 (a1,a2,a3,a4, var)
0617 );
0618 }
0619
0620 template <class T1,class T2,class T3,class T4,class T5, class Var>
0621 inline
0622 detail::group1< detail::group6<T1,T2,T3,T4,T5, Var&> >
0623 group(T1 a1,T2 a2,T3 a3,T4 a4,T5 a5, Var& var)
0624 {
0625 return detail::group1< detail::group6<T1,T2,T3,T4,T5, Var&> >
0626 ( detail::group6<T1,T2,T3,T4,T5, Var&>
0627 (a1,a2,a3,a4,a5, var)
0628 );
0629 }
0630
0631 template <class T1,class T2,class T3,class T4,class T5,class T6, class Var>
0632 inline
0633 detail::group1< detail::group7<T1,T2,T3,T4,T5,T6, Var&> >
0634 group(T1 a1,T2 a2,T3 a3,T4 a4,T5 a5,T6 a6, Var& var)
0635 {
0636 return detail::group1< detail::group7<T1,T2,T3,T4,T5,T6, Var&> >
0637 ( detail::group7<T1,T2,T3,T4,T5,T6, Var&>
0638 (a1,a2,a3,a4,a5,a6, var)
0639 );
0640 }
0641
0642 template <class T1,class T2,class T3,class T4,class T5,class T6,class T7, class Var>
0643 inline
0644 detail::group1< detail::group8<T1,T2,T3,T4,T5,T6,T7, Var&> >
0645 group(T1 a1,T2 a2,T3 a3,T4 a4,T5 a5,T6 a6,T7 a7, Var& var)
0646 {
0647 return detail::group1< detail::group8<T1,T2,T3,T4,T5,T6,T7, Var&> >
0648 ( detail::group8<T1,T2,T3,T4,T5,T6,T7, Var&>
0649 (a1,a2,a3,a4,a5,a6,a7, var)
0650 );
0651 }
0652
0653 template <class T1,class T2,class T3,class T4,class T5,class T6,class T7,class T8, class Var>
0654 inline
0655 detail::group1< detail::group9<T1,T2,T3,T4,T5,T6,T7,T8, Var&> >
0656 group(T1 a1,T2 a2,T3 a3,T4 a4,T5 a5,T6 a6,T7 a7,T8 a8, Var& var)
0657 {
0658 return detail::group1< detail::group9<T1,T2,T3,T4,T5,T6,T7,T8, Var&> >
0659 ( detail::group9<T1,T2,T3,T4,T5,T6,T7,T8, Var&>
0660 (a1,a2,a3,a4,a5,a6,a7,a8, var)
0661 );
0662 }
0663
0664 template <class T1,class T2,class T3,class T4,class T5,class T6,class T7,class T8,class T9, class Var>
0665 inline
0666 detail::group1< detail::group10<T1,T2,T3,T4,T5,T6,T7,T8,T9, Var&> >
0667 group(T1 a1,T2 a2,T3 a3,T4 a4,T5 a5,T6 a6,T7 a7,T8 a8,T9 a9, Var& var)
0668 {
0669 return detail::group1< detail::group10<T1,T2,T3,T4,T5,T6,T7,T8,T9, Var&> >
0670 ( detail::group10<T1,T2,T3,T4,T5,T6,T7,T8,T9, Var&>
0671 (a1,a2,a3,a4,a5,a6,a7,a8,a9, var)
0672 );
0673 }
0674
0675
0676 #endif
0677
0678
0679 }
0680
0681 }
0682
0683
0684 #endif