source: NonGTP/Boost/boost/format/group.hpp @ 857

Revision 857, 17.9 KB checked in by igarcia, 18 years ago (diff)
Line 
1
2// ----------------------------------------------------------------------------
3// group.hpp :  encapsulates a group of manipulators along with an argument
4// ----------------------------------------------------------------------------
5
6//  Copyright Samuel Krempp 2003. Use, modification, and distribution are
7//  subject to the Boost Software License, Version 1.0. (See accompanying
8//  file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
9
10//  See http://www.boost.org/libs/format for library home page
11
12// ----------------------------------------------------------------------------
13
14                     
15// group_head : cut the last element of a group out.
16// (is overloaded below on each type of group)
17
18// group_last : returns the last element of a group
19// (is overloaded below on each type of group)
20// ----------------------------------------------------------------------------
21
22
23#ifndef BOOST_FORMAT_GROUP_HPP
24#define BOOST_FORMAT_GROUP_HPP
25
26#include <boost/config.hpp>
27
28
29namespace boost {
30namespace io {
31
32
33namespace detail {
34
35
36// empty group, but useful even though.
37struct group0
38{
39    group0()      {}
40};
41
42template <class Ch, class Tr>
43inline
44BOOST_IO_STD basic_ostream<Ch, Tr>&
45operator << ( BOOST_IO_STD basic_ostream<Ch, Tr>& os,
46             const group0& )
47{
48   return os;
49}
50
51template <class T1>
52struct group1
53{
54    T1 a1_;
55    group1(T1 a1)
56      : a1_(a1)
57      {}
58};
59
60template <class Ch, class Tr, class T1>
61inline
62BOOST_IO_STD basic_ostream<Ch, Tr>&
63operator << (BOOST_IO_STD basic_ostream<Ch, Tr>& os,
64             const group1<T1>& x)
65{
66   os << x.a1_; 
67   return os;
68}
69
70
71
72
73template <class T1,class T2>
74struct group2
75{
76    T1 a1_;
77    T2 a2_;
78    group2(T1 a1,T2 a2)
79      : a1_(a1),a2_(a2)
80      {}
81};
82
83template <class Ch, class Tr, class T1,class T2>
84inline
85BOOST_IO_STD basic_ostream<Ch, Tr>&
86operator << (BOOST_IO_STD basic_ostream<Ch, Tr>& os,
87             const group2<T1,T2>& x)
88{
89   os << x.a1_<< x.a2_; 
90   return os;
91}
92
93template <class T1,class T2,class T3>
94struct group3
95{
96    T1 a1_;
97    T2 a2_;
98    T3 a3_;
99    group3(T1 a1,T2 a2,T3 a3)
100      : a1_(a1),a2_(a2),a3_(a3)
101      {}
102};
103
104template <class Ch, class Tr, class T1,class T2,class T3>
105inline
106BOOST_IO_STD basic_ostream<Ch, Tr>&
107operator << (BOOST_IO_STD basic_ostream<Ch, Tr>& os,
108             const group3<T1,T2,T3>& x)
109{
110   os << x.a1_<< x.a2_<< x.a3_; 
111   return os;
112}
113
114template <class T1,class T2,class T3,class T4>
115struct group4
116{
117    T1 a1_;
118    T2 a2_;
119    T3 a3_;
120    T4 a4_;
121    group4(T1 a1,T2 a2,T3 a3,T4 a4)
122      : a1_(a1),a2_(a2),a3_(a3),a4_(a4)
123      {}
124};
125
126template <class Ch, class Tr, class T1,class T2,class T3,class T4>
127inline
128BOOST_IO_STD basic_ostream<Ch, Tr>&
129operator << (BOOST_IO_STD basic_ostream<Ch, Tr>& os,
130             const group4<T1,T2,T3,T4>& x)
131{
132   os << x.a1_<< x.a2_<< x.a3_<< x.a4_; 
133   return os;
134}
135
136template <class T1,class T2,class T3,class T4,class T5>
137struct group5
138{
139    T1 a1_;
140    T2 a2_;
141    T3 a3_;
142    T4 a4_;
143    T5 a5_;
144    group5(T1 a1,T2 a2,T3 a3,T4 a4,T5 a5)
145      : a1_(a1),a2_(a2),a3_(a3),a4_(a4),a5_(a5)
146      {}
147};
148
149template <class Ch, class Tr, class T1,class T2,class T3,class T4,class T5>
150inline
151BOOST_IO_STD basic_ostream<Ch, Tr>&
152operator << (BOOST_IO_STD basic_ostream<Ch, Tr>& os,
153             const group5<T1,T2,T3,T4,T5>& x)
154{
155   os << x.a1_<< x.a2_<< x.a3_<< x.a4_<< x.a5_; 
156   return os;
157}
158
159template <class T1,class T2,class T3,class T4,class T5,class T6>
160struct group6
161{
162    T1 a1_;
163    T2 a2_;
164    T3 a3_;
165    T4 a4_;
166    T5 a5_;
167    T6 a6_;
168    group6(T1 a1,T2 a2,T3 a3,T4 a4,T5 a5,T6 a6)
169      : a1_(a1),a2_(a2),a3_(a3),a4_(a4),a5_(a5),a6_(a6)
170      {}
171};
172
173template <class Ch, class Tr, class T1,class T2,class T3,class T4,class T5,class T6>
174inline
175BOOST_IO_STD basic_ostream<Ch, Tr>&
176operator << (BOOST_IO_STD basic_ostream<Ch, Tr>& os,
177             const group6<T1,T2,T3,T4,T5,T6>& x)
178{
179   os << x.a1_<< x.a2_<< x.a3_<< x.a4_<< x.a5_<< x.a6_; 
180   return os;
181}
182
183template <class T1,class T2,class T3,class T4,class T5,class T6,class T7>
184struct group7
185{
186    T1 a1_;
187    T2 a2_;
188    T3 a3_;
189    T4 a4_;
190    T5 a5_;
191    T6 a6_;
192    T7 a7_;
193    group7(T1 a1,T2 a2,T3 a3,T4 a4,T5 a5,T6 a6,T7 a7)
194      : a1_(a1),a2_(a2),a3_(a3),a4_(a4),a5_(a5),a6_(a6),a7_(a7)
195      {}
196};
197
198template <class Ch, class Tr, class T1,class T2,class T3,class T4,class T5,class T6,class T7>
199inline
200BOOST_IO_STD basic_ostream<Ch, Tr>&
201operator << (BOOST_IO_STD basic_ostream<Ch, Tr>& os,
202             const group7<T1,T2,T3,T4,T5,T6,T7>& x)
203{
204   os << x.a1_<< x.a2_<< x.a3_<< x.a4_<< x.a5_<< x.a6_<< x.a7_; 
205   return os;
206}
207
208template <class T1,class T2,class T3,class T4,class T5,class T6,class T7,class T8>
209struct group8
210{
211    T1 a1_;
212    T2 a2_;
213    T3 a3_;
214    T4 a4_;
215    T5 a5_;
216    T6 a6_;
217    T7 a7_;
218    T8 a8_;
219    group8(T1 a1,T2 a2,T3 a3,T4 a4,T5 a5,T6 a6,T7 a7,T8 a8)
220      : a1_(a1),a2_(a2),a3_(a3),a4_(a4),a5_(a5),a6_(a6),a7_(a7),a8_(a8)
221      {}
222};
223
224template <class Ch, class Tr, class T1,class T2,class T3,class T4,class T5,class T6,class T7,class T8>
225inline
226BOOST_IO_STD basic_ostream<Ch, Tr>&
227operator << (BOOST_IO_STD basic_ostream<Ch, Tr>& os,
228             const group8<T1,T2,T3,T4,T5,T6,T7,T8>& x)
229{
230   os << x.a1_<< x.a2_<< x.a3_<< x.a4_<< x.a5_<< x.a6_<< x.a7_<< x.a8_; 
231   return os;
232}
233
234template <class T1,class T2,class T3,class T4,class T5,class T6,class T7,class T8,class T9>
235struct group9
236{
237    T1 a1_;
238    T2 a2_;
239    T3 a3_;
240    T4 a4_;
241    T5 a5_;
242    T6 a6_;
243    T7 a7_;
244    T8 a8_;
245    T9 a9_;
246    group9(T1 a1,T2 a2,T3 a3,T4 a4,T5 a5,T6 a6,T7 a7,T8 a8,T9 a9)
247      : a1_(a1),a2_(a2),a3_(a3),a4_(a4),a5_(a5),a6_(a6),a7_(a7),a8_(a8),a9_(a9)
248      {}
249};
250
251template <class Ch, class Tr, class T1,class T2,class T3,class T4,class T5,class T6,class T7,class T8,class T9>
252inline
253BOOST_IO_STD basic_ostream<Ch, Tr>&
254operator << (BOOST_IO_STD basic_ostream<Ch, Tr>& os,
255             const group9<T1,T2,T3,T4,T5,T6,T7,T8,T9>& x)
256{
257   os << x.a1_<< x.a2_<< x.a3_<< x.a4_<< x.a5_<< x.a6_<< x.a7_<< x.a8_<< x.a9_; 
258   return os;
259}
260
261template <class T1,class T2,class T3,class T4,class T5,class T6,class T7,class T8,class T9,class T10>
262struct group10
263{
264    T1 a1_;
265    T2 a2_;
266    T3 a3_;
267    T4 a4_;
268    T5 a5_;
269    T6 a6_;
270    T7 a7_;
271    T8 a8_;
272    T9 a9_;
273    T10 a10_;
274    group10(T1 a1,T2 a2,T3 a3,T4 a4,T5 a5,T6 a6,T7 a7,T8 a8,T9 a9,T10 a10)
275      : a1_(a1),a2_(a2),a3_(a3),a4_(a4),a5_(a5),a6_(a6),a7_(a7),a8_(a8),a9_(a9),a10_(a10)
276      {}
277};
278
279template <class Ch, class Tr, class T1,class T2,class T3,class T4,class T5,class T6,class T7,class T8,class T9,class T10>
280inline
281BOOST_IO_STD basic_ostream<Ch, Tr>&
282operator << (BOOST_IO_STD basic_ostream<Ch, Tr>& os,
283             const group10<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10>& x)
284{
285   os << x.a1_<< x.a2_<< x.a3_<< x.a4_<< x.a5_<< x.a6_<< x.a7_<< x.a8_<< x.a9_<< x.a10_; 
286   return os;
287}
288
289
290
291
292template <class T1,class T2>
293inline
294group1<T1>
295group_head( group2<T1,T2> const& x)
296{
297   return group1<T1> (x.a1_);
298}
299
300template <class T1,class T2>
301inline
302group1<T2>
303group_last( group2<T1,T2> const& x)
304{
305   return group1<T2> (x.a2_);
306}
307
308
309
310template <class T1,class T2,class T3>
311inline
312group2<T1,T2>
313group_head( group3<T1,T2,T3> const& x)
314{
315   return group2<T1,T2> (x.a1_,x.a2_);
316}
317
318template <class T1,class T2,class T3>
319inline
320group1<T3>
321group_last( group3<T1,T2,T3> const& x)
322{
323   return group1<T3> (x.a3_);
324}
325
326
327
328template <class T1,class T2,class T3,class T4>
329inline
330group3<T1,T2,T3>
331group_head( group4<T1,T2,T3,T4> const& x)
332{
333   return group3<T1,T2,T3> (x.a1_,x.a2_,x.a3_);
334}
335
336template <class T1,class T2,class T3,class T4>
337inline
338group1<T4>
339group_last( group4<T1,T2,T3,T4> const& x)
340{
341   return group1<T4> (x.a4_);
342}
343
344
345
346template <class T1,class T2,class T3,class T4,class T5>
347inline
348group4<T1,T2,T3,T4>
349group_head( group5<T1,T2,T3,T4,T5> const& x)
350{
351   return group4<T1,T2,T3,T4> (x.a1_,x.a2_,x.a3_,x.a4_);
352}
353
354template <class T1,class T2,class T3,class T4,class T5>
355inline
356group1<T5>
357group_last( group5<T1,T2,T3,T4,T5> const& x)
358{
359   return group1<T5> (x.a5_);
360}
361
362
363
364template <class T1,class T2,class T3,class T4,class T5,class T6>
365inline
366group5<T1,T2,T3,T4,T5>
367group_head( group6<T1,T2,T3,T4,T5,T6> const& x)
368{
369   return group5<T1,T2,T3,T4,T5> (x.a1_,x.a2_,x.a3_,x.a4_,x.a5_);
370}
371
372template <class T1,class T2,class T3,class T4,class T5,class T6>
373inline
374group1<T6>
375group_last( group6<T1,T2,T3,T4,T5,T6> const& x)
376{
377   return group1<T6> (x.a6_);
378}
379
380
381
382template <class T1,class T2,class T3,class T4,class T5,class T6,class T7>
383inline
384group6<T1,T2,T3,T4,T5,T6>
385group_head( group7<T1,T2,T3,T4,T5,T6,T7> const& x)
386{
387   return group6<T1,T2,T3,T4,T5,T6> (x.a1_,x.a2_,x.a3_,x.a4_,x.a5_,x.a6_);
388}
389
390template <class T1,class T2,class T3,class T4,class T5,class T6,class T7>
391inline
392group1<T7>
393group_last( group7<T1,T2,T3,T4,T5,T6,T7> const& x)
394{
395   return group1<T7> (x.a7_);
396}
397
398
399
400template <class T1,class T2,class T3,class T4,class T5,class T6,class T7,class T8>
401inline
402group7<T1,T2,T3,T4,T5,T6,T7>
403group_head( group8<T1,T2,T3,T4,T5,T6,T7,T8> const& x)
404{
405   return group7<T1,T2,T3,T4,T5,T6,T7> (x.a1_,x.a2_,x.a3_,x.a4_,x.a5_,x.a6_,x.a7_);
406}
407
408template <class T1,class T2,class T3,class T4,class T5,class T6,class T7,class T8>
409inline
410group1<T8>
411group_last( group8<T1,T2,T3,T4,T5,T6,T7,T8> const& x)
412{
413   return group1<T8> (x.a8_);
414}
415
416
417
418template <class T1,class T2,class T3,class T4,class T5,class T6,class T7,class T8,class T9>
419inline
420group8<T1,T2,T3,T4,T5,T6,T7,T8>
421group_head( group9<T1,T2,T3,T4,T5,T6,T7,T8,T9> const& x)
422{
423   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_);
424}
425
426template <class T1,class T2,class T3,class T4,class T5,class T6,class T7,class T8,class T9>
427inline
428group1<T9>
429group_last( group9<T1,T2,T3,T4,T5,T6,T7,T8,T9> const& x)
430{
431   return group1<T9> (x.a9_);
432}
433
434
435
436template <class T1,class T2,class T3,class T4,class T5,class T6,class T7,class T8,class T9,class T10>
437inline
438group9<T1,T2,T3,T4,T5,T6,T7,T8,T9>
439group_head( group10<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10> const& x)
440{
441   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_);
442}
443
444template <class T1,class T2,class T3,class T4,class T5,class T6,class T7,class T8,class T9,class T10>
445inline
446group1<T10>
447group_last( group10<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10> const& x)
448{
449   return group1<T10> (x.a10_);
450}
451
452
453
454
455
456} // namespace detail
457
458
459
460// helper functions
461
462
463inline detail::group1< detail::group0 > 
464group() { return detail::group1< detail::group0 > ( detail::group0() ); }
465
466template  <class T1, class Var>
467inline
468detail::group1< detail::group2<T1, Var const&> >
469  group(T1 a1, Var const& var)
470{
471   return detail::group1< detail::group2<T1, Var const&> >
472                   ( detail::group2<T1, Var const&>
473                        (a1, var)
474                  );
475}
476
477template  <class T1,class T2, class Var>
478inline
479detail::group1< detail::group3<T1,T2, Var const&> >
480  group(T1 a1,T2 a2, Var const& var)
481{
482   return detail::group1< detail::group3<T1,T2, Var const&> >
483                   ( detail::group3<T1,T2, Var const&>
484                        (a1,a2, var)
485                  );
486}
487
488template  <class T1,class T2,class T3, class Var>
489inline
490detail::group1< detail::group4<T1,T2,T3, Var const&> >
491  group(T1 a1,T2 a2,T3 a3, Var const& var)
492{
493   return detail::group1< detail::group4<T1,T2,T3, Var const&> >
494                   ( detail::group4<T1,T2,T3, Var const&>
495                        (a1,a2,a3, var)
496                  );
497}
498
499template  <class T1,class T2,class T3,class T4, class Var>
500inline
501detail::group1< detail::group5<T1,T2,T3,T4, Var const&> >
502  group(T1 a1,T2 a2,T3 a3,T4 a4, Var const& var)
503{
504   return detail::group1< detail::group5<T1,T2,T3,T4, Var const&> >
505                   ( detail::group5<T1,T2,T3,T4, Var const&>
506                        (a1,a2,a3,a4, var)
507                  );
508}
509
510template  <class T1,class T2,class T3,class T4,class T5, class Var>
511inline
512detail::group1< detail::group6<T1,T2,T3,T4,T5, Var const&> >
513  group(T1 a1,T2 a2,T3 a3,T4 a4,T5 a5, Var const& var)
514{
515   return detail::group1< detail::group6<T1,T2,T3,T4,T5, Var const&> >
516                   ( detail::group6<T1,T2,T3,T4,T5, Var const&>
517                        (a1,a2,a3,a4,a5, var)
518                  );
519}
520
521template  <class T1,class T2,class T3,class T4,class T5,class T6, class Var>
522inline
523detail::group1< detail::group7<T1,T2,T3,T4,T5,T6, Var const&> >
524  group(T1 a1,T2 a2,T3 a3,T4 a4,T5 a5,T6 a6, Var const& var)
525{
526   return detail::group1< detail::group7<T1,T2,T3,T4,T5,T6, Var const&> >
527                   ( detail::group7<T1,T2,T3,T4,T5,T6, Var const&>
528                        (a1,a2,a3,a4,a5,a6, var)
529                  );
530}
531
532template  <class T1,class T2,class T3,class T4,class T5,class T6,class T7, class Var>
533inline
534detail::group1< detail::group8<T1,T2,T3,T4,T5,T6,T7, Var const&> >
535  group(T1 a1,T2 a2,T3 a3,T4 a4,T5 a5,T6 a6,T7 a7, Var const& var)
536{
537   return detail::group1< detail::group8<T1,T2,T3,T4,T5,T6,T7, Var const&> >
538                   ( detail::group8<T1,T2,T3,T4,T5,T6,T7, Var const&>
539                        (a1,a2,a3,a4,a5,a6,a7, var)
540                  );
541}
542
543template  <class T1,class T2,class T3,class T4,class T5,class T6,class T7,class T8, class Var>
544inline
545detail::group1< detail::group9<T1,T2,T3,T4,T5,T6,T7,T8, Var const&> >
546  group(T1 a1,T2 a2,T3 a3,T4 a4,T5 a5,T6 a6,T7 a7,T8 a8, Var const& var)
547{
548   return detail::group1< detail::group9<T1,T2,T3,T4,T5,T6,T7,T8, Var const&> >
549                   ( detail::group9<T1,T2,T3,T4,T5,T6,T7,T8, Var const&>
550                        (a1,a2,a3,a4,a5,a6,a7,a8, var)
551                  );
552}
553
554template  <class T1,class T2,class T3,class T4,class T5,class T6,class T7,class T8,class T9, class Var>
555inline
556detail::group1< detail::group10<T1,T2,T3,T4,T5,T6,T7,T8,T9, Var const&> >
557  group(T1 a1,T2 a2,T3 a3,T4 a4,T5 a5,T6 a6,T7 a7,T8 a8,T9 a9, Var const& var)
558{
559   return detail::group1< detail::group10<T1,T2,T3,T4,T5,T6,T7,T8,T9, Var const&> >
560                   ( detail::group10<T1,T2,T3,T4,T5,T6,T7,T8,T9, Var const&>
561                        (a1,a2,a3,a4,a5,a6,a7,a8,a9, var)
562                  );
563}
564
565
566#ifndef BOOST_NO_OVERLOAD_FOR_NON_CONST
567
568template  <class T1, class Var>
569inline
570detail::group1< detail::group2<T1, Var&> >
571  group(T1 a1, Var& var)
572{
573   return detail::group1< detail::group2<T1, Var&> >
574                   ( detail::group2<T1, Var&>
575                        (a1, var)
576                  );
577}
578
579template  <class T1,class T2, class Var>
580inline
581detail::group1< detail::group3<T1,T2, Var&> >
582  group(T1 a1,T2 a2, Var& var)
583{
584   return detail::group1< detail::group3<T1,T2, Var&> >
585                   ( detail::group3<T1,T2, Var&>
586                        (a1,a2, var)
587                  );
588}
589
590template  <class T1,class T2,class T3, class Var>
591inline
592detail::group1< detail::group4<T1,T2,T3, Var&> >
593  group(T1 a1,T2 a2,T3 a3, Var& var)
594{
595   return detail::group1< detail::group4<T1,T2,T3, Var&> >
596                   ( detail::group4<T1,T2,T3, Var&>
597                        (a1,a2,a3, var)
598                  );
599}
600
601template  <class T1,class T2,class T3,class T4, class Var>
602inline
603detail::group1< detail::group5<T1,T2,T3,T4, Var&> >
604  group(T1 a1,T2 a2,T3 a3,T4 a4, Var& var)
605{
606   return detail::group1< detail::group5<T1,T2,T3,T4, Var&> >
607                   ( detail::group5<T1,T2,T3,T4, Var&>
608                        (a1,a2,a3,a4, var)
609                  );
610}
611
612template  <class T1,class T2,class T3,class T4,class T5, class Var>
613inline
614detail::group1< detail::group6<T1,T2,T3,T4,T5, Var&> >
615  group(T1 a1,T2 a2,T3 a3,T4 a4,T5 a5, Var& var)
616{
617   return detail::group1< detail::group6<T1,T2,T3,T4,T5, Var&> >
618                   ( detail::group6<T1,T2,T3,T4,T5, Var&>
619                        (a1,a2,a3,a4,a5, var)
620                  );
621}
622
623template  <class T1,class T2,class T3,class T4,class T5,class T6, class Var>
624inline
625detail::group1< detail::group7<T1,T2,T3,T4,T5,T6, Var&> >
626  group(T1 a1,T2 a2,T3 a3,T4 a4,T5 a5,T6 a6, Var& var)
627{
628   return detail::group1< detail::group7<T1,T2,T3,T4,T5,T6, Var&> >
629                   ( detail::group7<T1,T2,T3,T4,T5,T6, Var&>
630                        (a1,a2,a3,a4,a5,a6, var)
631                  );
632}
633
634template  <class T1,class T2,class T3,class T4,class T5,class T6,class T7, class Var>
635inline
636detail::group1< detail::group8<T1,T2,T3,T4,T5,T6,T7, Var&> >
637  group(T1 a1,T2 a2,T3 a3,T4 a4,T5 a5,T6 a6,T7 a7, Var& var)
638{
639   return detail::group1< detail::group8<T1,T2,T3,T4,T5,T6,T7, Var&> >
640                   ( detail::group8<T1,T2,T3,T4,T5,T6,T7, Var&>
641                        (a1,a2,a3,a4,a5,a6,a7, var)
642                  );
643}
644
645template  <class T1,class T2,class T3,class T4,class T5,class T6,class T7,class T8, class Var>
646inline
647detail::group1< detail::group9<T1,T2,T3,T4,T5,T6,T7,T8, Var&> >
648  group(T1 a1,T2 a2,T3 a3,T4 a4,T5 a5,T6 a6,T7 a7,T8 a8, Var& var)
649{
650   return detail::group1< detail::group9<T1,T2,T3,T4,T5,T6,T7,T8, Var&> >
651                   ( detail::group9<T1,T2,T3,T4,T5,T6,T7,T8, Var&>
652                        (a1,a2,a3,a4,a5,a6,a7,a8, var)
653                  );
654}
655
656template  <class T1,class T2,class T3,class T4,class T5,class T6,class T7,class T8,class T9, class Var>
657inline
658detail::group1< detail::group10<T1,T2,T3,T4,T5,T6,T7,T8,T9, Var&> >
659  group(T1 a1,T2 a2,T3 a3,T4 a4,T5 a5,T6 a6,T7 a7,T8 a8,T9 a9, Var& var)
660{
661   return detail::group1< detail::group10<T1,T2,T3,T4,T5,T6,T7,T8,T9, Var&> >
662                   ( detail::group10<T1,T2,T3,T4,T5,T6,T7,T8,T9, Var&>
663                        (a1,a2,a3,a4,a5,a6,a7,a8,a9, var)
664                  );
665}
666
667
668#endif  // - BOOST_NO_OVERLOAD_FOR_NON_CONST
669
670
671} // namespace io
672
673} // namespace boost
674
675
676#endif   // BOOST_FORMAT_GROUP_HPP
Note: See TracBrowser for help on using the repository browser.