1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1.2 +++ b/os/ossrv/ossrv_pub/boost_apis/boost/format/group.hpp Fri Jun 15 03:10:57 2012 +0200
1.3 @@ -0,0 +1,676 @@
1.4 +
1.5 +// ----------------------------------------------------------------------------
1.6 +// group.hpp : encapsulates a group of manipulators along with an argument
1.7 +// ----------------------------------------------------------------------------
1.8 +
1.9 +// Copyright Samuel Krempp 2003. Use, modification, and distribution are
1.10 +// subject to the Boost Software License, Version 1.0. (See accompanying
1.11 +// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
1.12 +
1.13 +// See http://www.boost.org/libs/format for library home page
1.14 +
1.15 +// ----------------------------------------------------------------------------
1.16 +
1.17 +
1.18 +// group_head : cut the last element of a group out.
1.19 +// (is overloaded below on each type of group)
1.20 +
1.21 +// group_last : returns the last element of a group
1.22 +// (is overloaded below on each type of group)
1.23 +// ----------------------------------------------------------------------------
1.24 +
1.25 +
1.26 +#ifndef BOOST_FORMAT_GROUP_HPP
1.27 +#define BOOST_FORMAT_GROUP_HPP
1.28 +
1.29 +#include <boost/config.hpp>
1.30 +
1.31 +
1.32 +namespace boost {
1.33 +namespace io {
1.34 +
1.35 +
1.36 +namespace detail {
1.37 +
1.38 +
1.39 +// empty group, but useful even though.
1.40 +struct group0
1.41 +{
1.42 + group0() {}
1.43 +};
1.44 +
1.45 +template <class Ch, class Tr>
1.46 +inline
1.47 +BOOST_IO_STD basic_ostream<Ch, Tr>&
1.48 +operator << ( BOOST_IO_STD basic_ostream<Ch, Tr>& os,
1.49 + const group0& )
1.50 +{
1.51 + return os;
1.52 +}
1.53 +
1.54 +template <class T1>
1.55 +struct group1
1.56 +{
1.57 + T1 a1_;
1.58 + group1(T1 a1)
1.59 + : a1_(a1)
1.60 + {}
1.61 +};
1.62 +
1.63 +template <class Ch, class Tr, class T1>
1.64 +inline
1.65 +BOOST_IO_STD basic_ostream<Ch, Tr>&
1.66 +operator << (BOOST_IO_STD basic_ostream<Ch, Tr>& os,
1.67 + const group1<T1>& x)
1.68 +{
1.69 + os << x.a1_;
1.70 + return os;
1.71 +}
1.72 +
1.73 +
1.74 +
1.75 +
1.76 +template <class T1,class T2>
1.77 +struct group2
1.78 +{
1.79 + T1 a1_;
1.80 + T2 a2_;
1.81 + group2(T1 a1,T2 a2)
1.82 + : a1_(a1),a2_(a2)
1.83 + {}
1.84 +};
1.85 +
1.86 +template <class Ch, class Tr, class T1,class T2>
1.87 +inline
1.88 +BOOST_IO_STD basic_ostream<Ch, Tr>&
1.89 +operator << (BOOST_IO_STD basic_ostream<Ch, Tr>& os,
1.90 + const group2<T1,T2>& x)
1.91 +{
1.92 + os << x.a1_<< x.a2_;
1.93 + return os;
1.94 +}
1.95 +
1.96 +template <class T1,class T2,class T3>
1.97 +struct group3
1.98 +{
1.99 + T1 a1_;
1.100 + T2 a2_;
1.101 + T3 a3_;
1.102 + group3(T1 a1,T2 a2,T3 a3)
1.103 + : a1_(a1),a2_(a2),a3_(a3)
1.104 + {}
1.105 +};
1.106 +
1.107 +template <class Ch, class Tr, class T1,class T2,class T3>
1.108 +inline
1.109 +BOOST_IO_STD basic_ostream<Ch, Tr>&
1.110 +operator << (BOOST_IO_STD basic_ostream<Ch, Tr>& os,
1.111 + const group3<T1,T2,T3>& x)
1.112 +{
1.113 + os << x.a1_<< x.a2_<< x.a3_;
1.114 + return os;
1.115 +}
1.116 +
1.117 +template <class T1,class T2,class T3,class T4>
1.118 +struct group4
1.119 +{
1.120 + T1 a1_;
1.121 + T2 a2_;
1.122 + T3 a3_;
1.123 + T4 a4_;
1.124 + group4(T1 a1,T2 a2,T3 a3,T4 a4)
1.125 + : a1_(a1),a2_(a2),a3_(a3),a4_(a4)
1.126 + {}
1.127 +};
1.128 +
1.129 +template <class Ch, class Tr, class T1,class T2,class T3,class T4>
1.130 +inline
1.131 +BOOST_IO_STD basic_ostream<Ch, Tr>&
1.132 +operator << (BOOST_IO_STD basic_ostream<Ch, Tr>& os,
1.133 + const group4<T1,T2,T3,T4>& x)
1.134 +{
1.135 + os << x.a1_<< x.a2_<< x.a3_<< x.a4_;
1.136 + return os;
1.137 +}
1.138 +
1.139 +template <class T1,class T2,class T3,class T4,class T5>
1.140 +struct group5
1.141 +{
1.142 + T1 a1_;
1.143 + T2 a2_;
1.144 + T3 a3_;
1.145 + T4 a4_;
1.146 + T5 a5_;
1.147 + group5(T1 a1,T2 a2,T3 a3,T4 a4,T5 a5)
1.148 + : a1_(a1),a2_(a2),a3_(a3),a4_(a4),a5_(a5)
1.149 + {}
1.150 +};
1.151 +
1.152 +template <class Ch, class Tr, class T1,class T2,class T3,class T4,class T5>
1.153 +inline
1.154 +BOOST_IO_STD basic_ostream<Ch, Tr>&
1.155 +operator << (BOOST_IO_STD basic_ostream<Ch, Tr>& os,
1.156 + const group5<T1,T2,T3,T4,T5>& x)
1.157 +{
1.158 + os << x.a1_<< x.a2_<< x.a3_<< x.a4_<< x.a5_;
1.159 + return os;
1.160 +}
1.161 +
1.162 +template <class T1,class T2,class T3,class T4,class T5,class T6>
1.163 +struct group6
1.164 +{
1.165 + T1 a1_;
1.166 + T2 a2_;
1.167 + T3 a3_;
1.168 + T4 a4_;
1.169 + T5 a5_;
1.170 + T6 a6_;
1.171 + group6(T1 a1,T2 a2,T3 a3,T4 a4,T5 a5,T6 a6)
1.172 + : a1_(a1),a2_(a2),a3_(a3),a4_(a4),a5_(a5),a6_(a6)
1.173 + {}
1.174 +};
1.175 +
1.176 +template <class Ch, class Tr, class T1,class T2,class T3,class T4,class T5,class T6>
1.177 +inline
1.178 +BOOST_IO_STD basic_ostream<Ch, Tr>&
1.179 +operator << (BOOST_IO_STD basic_ostream<Ch, Tr>& os,
1.180 + const group6<T1,T2,T3,T4,T5,T6>& x)
1.181 +{
1.182 + os << x.a1_<< x.a2_<< x.a3_<< x.a4_<< x.a5_<< x.a6_;
1.183 + return os;
1.184 +}
1.185 +
1.186 +template <class T1,class T2,class T3,class T4,class T5,class T6,class T7>
1.187 +struct group7
1.188 +{
1.189 + T1 a1_;
1.190 + T2 a2_;
1.191 + T3 a3_;
1.192 + T4 a4_;
1.193 + T5 a5_;
1.194 + T6 a6_;
1.195 + T7 a7_;
1.196 + group7(T1 a1,T2 a2,T3 a3,T4 a4,T5 a5,T6 a6,T7 a7)
1.197 + : a1_(a1),a2_(a2),a3_(a3),a4_(a4),a5_(a5),a6_(a6),a7_(a7)
1.198 + {}
1.199 +};
1.200 +
1.201 +template <class Ch, class Tr, class T1,class T2,class T3,class T4,class T5,class T6,class T7>
1.202 +inline
1.203 +BOOST_IO_STD basic_ostream<Ch, Tr>&
1.204 +operator << (BOOST_IO_STD basic_ostream<Ch, Tr>& os,
1.205 + const group7<T1,T2,T3,T4,T5,T6,T7>& x)
1.206 +{
1.207 + os << x.a1_<< x.a2_<< x.a3_<< x.a4_<< x.a5_<< x.a6_<< x.a7_;
1.208 + return os;
1.209 +}
1.210 +
1.211 +template <class T1,class T2,class T3,class T4,class T5,class T6,class T7,class T8>
1.212 +struct group8
1.213 +{
1.214 + T1 a1_;
1.215 + T2 a2_;
1.216 + T3 a3_;
1.217 + T4 a4_;
1.218 + T5 a5_;
1.219 + T6 a6_;
1.220 + T7 a7_;
1.221 + T8 a8_;
1.222 + group8(T1 a1,T2 a2,T3 a3,T4 a4,T5 a5,T6 a6,T7 a7,T8 a8)
1.223 + : a1_(a1),a2_(a2),a3_(a3),a4_(a4),a5_(a5),a6_(a6),a7_(a7),a8_(a8)
1.224 + {}
1.225 +};
1.226 +
1.227 +template <class Ch, class Tr, class T1,class T2,class T3,class T4,class T5,class T6,class T7,class T8>
1.228 +inline
1.229 +BOOST_IO_STD basic_ostream<Ch, Tr>&
1.230 +operator << (BOOST_IO_STD basic_ostream<Ch, Tr>& os,
1.231 + const group8<T1,T2,T3,T4,T5,T6,T7,T8>& x)
1.232 +{
1.233 + os << x.a1_<< x.a2_<< x.a3_<< x.a4_<< x.a5_<< x.a6_<< x.a7_<< x.a8_;
1.234 + return os;
1.235 +}
1.236 +
1.237 +template <class T1,class T2,class T3,class T4,class T5,class T6,class T7,class T8,class T9>
1.238 +struct group9
1.239 +{
1.240 + T1 a1_;
1.241 + T2 a2_;
1.242 + T3 a3_;
1.243 + T4 a4_;
1.244 + T5 a5_;
1.245 + T6 a6_;
1.246 + T7 a7_;
1.247 + T8 a8_;
1.248 + T9 a9_;
1.249 + group9(T1 a1,T2 a2,T3 a3,T4 a4,T5 a5,T6 a6,T7 a7,T8 a8,T9 a9)
1.250 + : a1_(a1),a2_(a2),a3_(a3),a4_(a4),a5_(a5),a6_(a6),a7_(a7),a8_(a8),a9_(a9)
1.251 + {}
1.252 +};
1.253 +
1.254 +template <class Ch, class Tr, class T1,class T2,class T3,class T4,class T5,class T6,class T7,class T8,class T9>
1.255 +inline
1.256 +BOOST_IO_STD basic_ostream<Ch, Tr>&
1.257 +operator << (BOOST_IO_STD basic_ostream<Ch, Tr>& os,
1.258 + const group9<T1,T2,T3,T4,T5,T6,T7,T8,T9>& x)
1.259 +{
1.260 + os << x.a1_<< x.a2_<< x.a3_<< x.a4_<< x.a5_<< x.a6_<< x.a7_<< x.a8_<< x.a9_;
1.261 + return os;
1.262 +}
1.263 +
1.264 +template <class T1,class T2,class T3,class T4,class T5,class T6,class T7,class T8,class T9,class T10>
1.265 +struct group10
1.266 +{
1.267 + T1 a1_;
1.268 + T2 a2_;
1.269 + T3 a3_;
1.270 + T4 a4_;
1.271 + T5 a5_;
1.272 + T6 a6_;
1.273 + T7 a7_;
1.274 + T8 a8_;
1.275 + T9 a9_;
1.276 + T10 a10_;
1.277 + group10(T1 a1,T2 a2,T3 a3,T4 a4,T5 a5,T6 a6,T7 a7,T8 a8,T9 a9,T10 a10)
1.278 + : a1_(a1),a2_(a2),a3_(a3),a4_(a4),a5_(a5),a6_(a6),a7_(a7),a8_(a8),a9_(a9),a10_(a10)
1.279 + {}
1.280 +};
1.281 +
1.282 +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>
1.283 +inline
1.284 +BOOST_IO_STD basic_ostream<Ch, Tr>&
1.285 +operator << (BOOST_IO_STD basic_ostream<Ch, Tr>& os,
1.286 + const group10<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10>& x)
1.287 +{
1.288 + os << x.a1_<< x.a2_<< x.a3_<< x.a4_<< x.a5_<< x.a6_<< x.a7_<< x.a8_<< x.a9_<< x.a10_;
1.289 + return os;
1.290 +}
1.291 +
1.292 +
1.293 +
1.294 +
1.295 +template <class T1,class T2>
1.296 +inline
1.297 +group1<T1>
1.298 +group_head( group2<T1,T2> const& x)
1.299 +{
1.300 + return group1<T1> (x.a1_);
1.301 +}
1.302 +
1.303 +template <class T1,class T2>
1.304 +inline
1.305 +group1<T2>
1.306 +group_last( group2<T1,T2> const& x)
1.307 +{
1.308 + return group1<T2> (x.a2_);
1.309 +}
1.310 +
1.311 +
1.312 +
1.313 +template <class T1,class T2,class T3>
1.314 +inline
1.315 +group2<T1,T2>
1.316 +group_head( group3<T1,T2,T3> const& x)
1.317 +{
1.318 + return group2<T1,T2> (x.a1_,x.a2_);
1.319 +}
1.320 +
1.321 +template <class T1,class T2,class T3>
1.322 +inline
1.323 +group1<T3>
1.324 +group_last( group3<T1,T2,T3> const& x)
1.325 +{
1.326 + return group1<T3> (x.a3_);
1.327 +}
1.328 +
1.329 +
1.330 +
1.331 +template <class T1,class T2,class T3,class T4>
1.332 +inline
1.333 +group3<T1,T2,T3>
1.334 +group_head( group4<T1,T2,T3,T4> const& x)
1.335 +{
1.336 + return group3<T1,T2,T3> (x.a1_,x.a2_,x.a3_);
1.337 +}
1.338 +
1.339 +template <class T1,class T2,class T3,class T4>
1.340 +inline
1.341 +group1<T4>
1.342 +group_last( group4<T1,T2,T3,T4> const& x)
1.343 +{
1.344 + return group1<T4> (x.a4_);
1.345 +}
1.346 +
1.347 +
1.348 +
1.349 +template <class T1,class T2,class T3,class T4,class T5>
1.350 +inline
1.351 +group4<T1,T2,T3,T4>
1.352 +group_head( group5<T1,T2,T3,T4,T5> const& x)
1.353 +{
1.354 + return group4<T1,T2,T3,T4> (x.a1_,x.a2_,x.a3_,x.a4_);
1.355 +}
1.356 +
1.357 +template <class T1,class T2,class T3,class T4,class T5>
1.358 +inline
1.359 +group1<T5>
1.360 +group_last( group5<T1,T2,T3,T4,T5> const& x)
1.361 +{
1.362 + return group1<T5> (x.a5_);
1.363 +}
1.364 +
1.365 +
1.366 +
1.367 +template <class T1,class T2,class T3,class T4,class T5,class T6>
1.368 +inline
1.369 +group5<T1,T2,T3,T4,T5>
1.370 +group_head( group6<T1,T2,T3,T4,T5,T6> const& x)
1.371 +{
1.372 + return group5<T1,T2,T3,T4,T5> (x.a1_,x.a2_,x.a3_,x.a4_,x.a5_);
1.373 +}
1.374 +
1.375 +template <class T1,class T2,class T3,class T4,class T5,class T6>
1.376 +inline
1.377 +group1<T6>
1.378 +group_last( group6<T1,T2,T3,T4,T5,T6> const& x)
1.379 +{
1.380 + return group1<T6> (x.a6_);
1.381 +}
1.382 +
1.383 +
1.384 +
1.385 +template <class T1,class T2,class T3,class T4,class T5,class T6,class T7>
1.386 +inline
1.387 +group6<T1,T2,T3,T4,T5,T6>
1.388 +group_head( group7<T1,T2,T3,T4,T5,T6,T7> const& x)
1.389 +{
1.390 + return group6<T1,T2,T3,T4,T5,T6> (x.a1_,x.a2_,x.a3_,x.a4_,x.a5_,x.a6_);
1.391 +}
1.392 +
1.393 +template <class T1,class T2,class T3,class T4,class T5,class T6,class T7>
1.394 +inline
1.395 +group1<T7>
1.396 +group_last( group7<T1,T2,T3,T4,T5,T6,T7> const& x)
1.397 +{
1.398 + return group1<T7> (x.a7_);
1.399 +}
1.400 +
1.401 +
1.402 +
1.403 +template <class T1,class T2,class T3,class T4,class T5,class T6,class T7,class T8>
1.404 +inline
1.405 +group7<T1,T2,T3,T4,T5,T6,T7>
1.406 +group_head( group8<T1,T2,T3,T4,T5,T6,T7,T8> const& x)
1.407 +{
1.408 + return group7<T1,T2,T3,T4,T5,T6,T7> (x.a1_,x.a2_,x.a3_,x.a4_,x.a5_,x.a6_,x.a7_);
1.409 +}
1.410 +
1.411 +template <class T1,class T2,class T3,class T4,class T5,class T6,class T7,class T8>
1.412 +inline
1.413 +group1<T8>
1.414 +group_last( group8<T1,T2,T3,T4,T5,T6,T7,T8> const& x)
1.415 +{
1.416 + return group1<T8> (x.a8_);
1.417 +}
1.418 +
1.419 +
1.420 +
1.421 +template <class T1,class T2,class T3,class T4,class T5,class T6,class T7,class T8,class T9>
1.422 +inline
1.423 +group8<T1,T2,T3,T4,T5,T6,T7,T8>
1.424 +group_head( group9<T1,T2,T3,T4,T5,T6,T7,T8,T9> const& x)
1.425 +{
1.426 + 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_);
1.427 +}
1.428 +
1.429 +template <class T1,class T2,class T3,class T4,class T5,class T6,class T7,class T8,class T9>
1.430 +inline
1.431 +group1<T9>
1.432 +group_last( group9<T1,T2,T3,T4,T5,T6,T7,T8,T9> const& x)
1.433 +{
1.434 + return group1<T9> (x.a9_);
1.435 +}
1.436 +
1.437 +
1.438 +
1.439 +template <class T1,class T2,class T3,class T4,class T5,class T6,class T7,class T8,class T9,class T10>
1.440 +inline
1.441 +group9<T1,T2,T3,T4,T5,T6,T7,T8,T9>
1.442 +group_head( group10<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10> const& x)
1.443 +{
1.444 + 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_);
1.445 +}
1.446 +
1.447 +template <class T1,class T2,class T3,class T4,class T5,class T6,class T7,class T8,class T9,class T10>
1.448 +inline
1.449 +group1<T10>
1.450 +group_last( group10<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10> const& x)
1.451 +{
1.452 + return group1<T10> (x.a10_);
1.453 +}
1.454 +
1.455 +
1.456 +
1.457 +
1.458 +
1.459 +} // namespace detail
1.460 +
1.461 +
1.462 +
1.463 +// helper functions
1.464 +
1.465 +
1.466 +inline detail::group1< detail::group0 >
1.467 +group() { return detail::group1< detail::group0 > ( detail::group0() ); }
1.468 +
1.469 +template <class T1, class Var>
1.470 +inline
1.471 +detail::group1< detail::group2<T1, Var const&> >
1.472 + group(T1 a1, Var const& var)
1.473 +{
1.474 + return detail::group1< detail::group2<T1, Var const&> >
1.475 + ( detail::group2<T1, Var const&>
1.476 + (a1, var)
1.477 + );
1.478 +}
1.479 +
1.480 +template <class T1,class T2, class Var>
1.481 +inline
1.482 +detail::group1< detail::group3<T1,T2, Var const&> >
1.483 + group(T1 a1,T2 a2, Var const& var)
1.484 +{
1.485 + return detail::group1< detail::group3<T1,T2, Var const&> >
1.486 + ( detail::group3<T1,T2, Var const&>
1.487 + (a1,a2, var)
1.488 + );
1.489 +}
1.490 +
1.491 +template <class T1,class T2,class T3, class Var>
1.492 +inline
1.493 +detail::group1< detail::group4<T1,T2,T3, Var const&> >
1.494 + group(T1 a1,T2 a2,T3 a3, Var const& var)
1.495 +{
1.496 + return detail::group1< detail::group4<T1,T2,T3, Var const&> >
1.497 + ( detail::group4<T1,T2,T3, Var const&>
1.498 + (a1,a2,a3, var)
1.499 + );
1.500 +}
1.501 +
1.502 +template <class T1,class T2,class T3,class T4, class Var>
1.503 +inline
1.504 +detail::group1< detail::group5<T1,T2,T3,T4, Var const&> >
1.505 + group(T1 a1,T2 a2,T3 a3,T4 a4, Var const& var)
1.506 +{
1.507 + return detail::group1< detail::group5<T1,T2,T3,T4, Var const&> >
1.508 + ( detail::group5<T1,T2,T3,T4, Var const&>
1.509 + (a1,a2,a3,a4, var)
1.510 + );
1.511 +}
1.512 +
1.513 +template <class T1,class T2,class T3,class T4,class T5, class Var>
1.514 +inline
1.515 +detail::group1< detail::group6<T1,T2,T3,T4,T5, Var const&> >
1.516 + group(T1 a1,T2 a2,T3 a3,T4 a4,T5 a5, Var const& var)
1.517 +{
1.518 + return detail::group1< detail::group6<T1,T2,T3,T4,T5, Var const&> >
1.519 + ( detail::group6<T1,T2,T3,T4,T5, Var const&>
1.520 + (a1,a2,a3,a4,a5, var)
1.521 + );
1.522 +}
1.523 +
1.524 +template <class T1,class T2,class T3,class T4,class T5,class T6, class Var>
1.525 +inline
1.526 +detail::group1< detail::group7<T1,T2,T3,T4,T5,T6, Var const&> >
1.527 + group(T1 a1,T2 a2,T3 a3,T4 a4,T5 a5,T6 a6, Var const& var)
1.528 +{
1.529 + return detail::group1< detail::group7<T1,T2,T3,T4,T5,T6, Var const&> >
1.530 + ( detail::group7<T1,T2,T3,T4,T5,T6, Var const&>
1.531 + (a1,a2,a3,a4,a5,a6, var)
1.532 + );
1.533 +}
1.534 +
1.535 +template <class T1,class T2,class T3,class T4,class T5,class T6,class T7, class Var>
1.536 +inline
1.537 +detail::group1< detail::group8<T1,T2,T3,T4,T5,T6,T7, Var const&> >
1.538 + group(T1 a1,T2 a2,T3 a3,T4 a4,T5 a5,T6 a6,T7 a7, Var const& var)
1.539 +{
1.540 + return detail::group1< detail::group8<T1,T2,T3,T4,T5,T6,T7, Var const&> >
1.541 + ( detail::group8<T1,T2,T3,T4,T5,T6,T7, Var const&>
1.542 + (a1,a2,a3,a4,a5,a6,a7, var)
1.543 + );
1.544 +}
1.545 +
1.546 +template <class T1,class T2,class T3,class T4,class T5,class T6,class T7,class T8, class Var>
1.547 +inline
1.548 +detail::group1< detail::group9<T1,T2,T3,T4,T5,T6,T7,T8, Var const&> >
1.549 + group(T1 a1,T2 a2,T3 a3,T4 a4,T5 a5,T6 a6,T7 a7,T8 a8, Var const& var)
1.550 +{
1.551 + return detail::group1< detail::group9<T1,T2,T3,T4,T5,T6,T7,T8, Var const&> >
1.552 + ( detail::group9<T1,T2,T3,T4,T5,T6,T7,T8, Var const&>
1.553 + (a1,a2,a3,a4,a5,a6,a7,a8, var)
1.554 + );
1.555 +}
1.556 +
1.557 +template <class T1,class T2,class T3,class T4,class T5,class T6,class T7,class T8,class T9, class Var>
1.558 +inline
1.559 +detail::group1< detail::group10<T1,T2,T3,T4,T5,T6,T7,T8,T9, Var const&> >
1.560 + group(T1 a1,T2 a2,T3 a3,T4 a4,T5 a5,T6 a6,T7 a7,T8 a8,T9 a9, Var const& var)
1.561 +{
1.562 + return detail::group1< detail::group10<T1,T2,T3,T4,T5,T6,T7,T8,T9, Var const&> >
1.563 + ( detail::group10<T1,T2,T3,T4,T5,T6,T7,T8,T9, Var const&>
1.564 + (a1,a2,a3,a4,a5,a6,a7,a8,a9, var)
1.565 + );
1.566 +}
1.567 +
1.568 +
1.569 +#ifndef BOOST_NO_OVERLOAD_FOR_NON_CONST
1.570 +
1.571 +template <class T1, class Var>
1.572 +inline
1.573 +detail::group1< detail::group2<T1, Var&> >
1.574 + group(T1 a1, Var& var)
1.575 +{
1.576 + return detail::group1< detail::group2<T1, Var&> >
1.577 + ( detail::group2<T1, Var&>
1.578 + (a1, var)
1.579 + );
1.580 +}
1.581 +
1.582 +template <class T1,class T2, class Var>
1.583 +inline
1.584 +detail::group1< detail::group3<T1,T2, Var&> >
1.585 + group(T1 a1,T2 a2, Var& var)
1.586 +{
1.587 + return detail::group1< detail::group3<T1,T2, Var&> >
1.588 + ( detail::group3<T1,T2, Var&>
1.589 + (a1,a2, var)
1.590 + );
1.591 +}
1.592 +
1.593 +template <class T1,class T2,class T3, class Var>
1.594 +inline
1.595 +detail::group1< detail::group4<T1,T2,T3, Var&> >
1.596 + group(T1 a1,T2 a2,T3 a3, Var& var)
1.597 +{
1.598 + return detail::group1< detail::group4<T1,T2,T3, Var&> >
1.599 + ( detail::group4<T1,T2,T3, Var&>
1.600 + (a1,a2,a3, var)
1.601 + );
1.602 +}
1.603 +
1.604 +template <class T1,class T2,class T3,class T4, class Var>
1.605 +inline
1.606 +detail::group1< detail::group5<T1,T2,T3,T4, Var&> >
1.607 + group(T1 a1,T2 a2,T3 a3,T4 a4, Var& var)
1.608 +{
1.609 + return detail::group1< detail::group5<T1,T2,T3,T4, Var&> >
1.610 + ( detail::group5<T1,T2,T3,T4, Var&>
1.611 + (a1,a2,a3,a4, var)
1.612 + );
1.613 +}
1.614 +
1.615 +template <class T1,class T2,class T3,class T4,class T5, class Var>
1.616 +inline
1.617 +detail::group1< detail::group6<T1,T2,T3,T4,T5, Var&> >
1.618 + group(T1 a1,T2 a2,T3 a3,T4 a4,T5 a5, Var& var)
1.619 +{
1.620 + return detail::group1< detail::group6<T1,T2,T3,T4,T5, Var&> >
1.621 + ( detail::group6<T1,T2,T3,T4,T5, Var&>
1.622 + (a1,a2,a3,a4,a5, var)
1.623 + );
1.624 +}
1.625 +
1.626 +template <class T1,class T2,class T3,class T4,class T5,class T6, class Var>
1.627 +inline
1.628 +detail::group1< detail::group7<T1,T2,T3,T4,T5,T6, Var&> >
1.629 + group(T1 a1,T2 a2,T3 a3,T4 a4,T5 a5,T6 a6, Var& var)
1.630 +{
1.631 + return detail::group1< detail::group7<T1,T2,T3,T4,T5,T6, Var&> >
1.632 + ( detail::group7<T1,T2,T3,T4,T5,T6, Var&>
1.633 + (a1,a2,a3,a4,a5,a6, var)
1.634 + );
1.635 +}
1.636 +
1.637 +template <class T1,class T2,class T3,class T4,class T5,class T6,class T7, class Var>
1.638 +inline
1.639 +detail::group1< detail::group8<T1,T2,T3,T4,T5,T6,T7, Var&> >
1.640 + group(T1 a1,T2 a2,T3 a3,T4 a4,T5 a5,T6 a6,T7 a7, Var& var)
1.641 +{
1.642 + return detail::group1< detail::group8<T1,T2,T3,T4,T5,T6,T7, Var&> >
1.643 + ( detail::group8<T1,T2,T3,T4,T5,T6,T7, Var&>
1.644 + (a1,a2,a3,a4,a5,a6,a7, var)
1.645 + );
1.646 +}
1.647 +
1.648 +template <class T1,class T2,class T3,class T4,class T5,class T6,class T7,class T8, class Var>
1.649 +inline
1.650 +detail::group1< detail::group9<T1,T2,T3,T4,T5,T6,T7,T8, Var&> >
1.651 + group(T1 a1,T2 a2,T3 a3,T4 a4,T5 a5,T6 a6,T7 a7,T8 a8, Var& var)
1.652 +{
1.653 + return detail::group1< detail::group9<T1,T2,T3,T4,T5,T6,T7,T8, Var&> >
1.654 + ( detail::group9<T1,T2,T3,T4,T5,T6,T7,T8, Var&>
1.655 + (a1,a2,a3,a4,a5,a6,a7,a8, var)
1.656 + );
1.657 +}
1.658 +
1.659 +template <class T1,class T2,class T3,class T4,class T5,class T6,class T7,class T8,class T9, class Var>
1.660 +inline
1.661 +detail::group1< detail::group10<T1,T2,T3,T4,T5,T6,T7,T8,T9, Var&> >
1.662 + group(T1 a1,T2 a2,T3 a3,T4 a4,T5 a5,T6 a6,T7 a7,T8 a8,T9 a9, Var& var)
1.663 +{
1.664 + return detail::group1< detail::group10<T1,T2,T3,T4,T5,T6,T7,T8,T9, Var&> >
1.665 + ( detail::group10<T1,T2,T3,T4,T5,T6,T7,T8,T9, Var&>
1.666 + (a1,a2,a3,a4,a5,a6,a7,a8,a9, var)
1.667 + );
1.668 +}
1.669 +
1.670 +
1.671 +#endif // - BOOST_NO_OVERLOAD_FOR_NON_CONST
1.672 +
1.673 +
1.674 +} // namespace io
1.675 +
1.676 +} // namespace boost
1.677 +
1.678 +
1.679 +#endif // BOOST_FORMAT_GROUP_HPP