~twpol/dcplusplus/trunk

« back to all changes in this revision

Viewing changes to boost/boost/mpl/aux_/preprocessed/bcc_pre590/list.hpp

  • Committer: James Ross
  • Date: 2010-07-05 00:03:18 UTC
  • mfrom: (1524.1.650 dcplusplus)
  • Revision ID: silver@warwickcompsoc.co.uk-20100705000318-awwqm8ocpp5m47yz
Merged to trunk.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
 
2
 
// Copyright Aleksey Gurtovoy 2000-2004
3
 
//
4
 
// Distributed under the Boost Software License, Version 1.0. 
5
 
// (See accompanying file LICENSE_1_0.txt or copy at 
6
 
// http://www.boost.org/LICENSE_1_0.txt)
7
 
//
8
 
 
9
 
// *Preprocessed* version of the main "list.hpp" header
10
 
// -- DO NOT modify by hand!
11
 
 
12
 
namespace boost { namespace mpl {
13
 
 
14
 
template<
15
 
      typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na
16
 
    , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na
17
 
    , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na
18
 
    , typename T12 = na, typename T13 = na, typename T14 = na
19
 
    , typename T15 = na, typename T16 = na, typename T17 = na
20
 
    , typename T18 = na, typename T19 = na
21
 
    >
22
 
struct list;
23
 
 
24
 
template<
25
 
     
26
 
    >
27
 
struct list<
28
 
          na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
29
 
        , na, na, na
30
 
        >
31
 
    : list0<  >
32
 
{
33
 
    typedef list0<  >::type type;
34
 
};
35
 
 
36
 
template<
37
 
      typename T0
38
 
    >
39
 
struct list<
40
 
          T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
41
 
        , na, na, na
42
 
        >
43
 
    : list1<T0>
44
 
{
45
 
    typedef typename list1<T0>::type type;
46
 
};
47
 
 
48
 
template<
49
 
      typename T0, typename T1
50
 
    >
51
 
struct list<
52
 
          T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
53
 
        , na, na, na
54
 
        >
55
 
    : list2< T0,T1 >
56
 
{
57
 
    typedef typename list2< T0,T1 >::type type;
58
 
};
59
 
 
60
 
template<
61
 
      typename T0, typename T1, typename T2
62
 
    >
63
 
struct list<
64
 
          T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na
65
 
        , na, na, na
66
 
        >
67
 
    : list3< T0,T1,T2 >
68
 
{
69
 
    typedef typename list3< T0,T1,T2 >::type type;
70
 
};
71
 
 
72
 
template<
73
 
      typename T0, typename T1, typename T2, typename T3
74
 
    >
75
 
struct list<
76
 
          T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na
77
 
        , na, na, na
78
 
        >
79
 
    : list4< T0,T1,T2,T3 >
80
 
{
81
 
    typedef typename list4< T0,T1,T2,T3 >::type type;
82
 
};
83
 
 
84
 
template<
85
 
      typename T0, typename T1, typename T2, typename T3, typename T4
86
 
    >
87
 
struct list<
88
 
          T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na
89
 
        , na, na, na
90
 
        >
91
 
    : list5< T0,T1,T2,T3,T4 >
92
 
{
93
 
    typedef typename list5< T0,T1,T2,T3,T4 >::type type;
94
 
};
95
 
 
96
 
template<
97
 
      typename T0, typename T1, typename T2, typename T3, typename T4
98
 
    , typename T5
99
 
    >
100
 
struct list<
101
 
          T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na
102
 
        , na, na, na
103
 
        >
104
 
    : list6< T0,T1,T2,T3,T4,T5 >
105
 
{
106
 
    typedef typename list6< T0,T1,T2,T3,T4,T5 >::type type;
107
 
};
108
 
 
109
 
template<
110
 
      typename T0, typename T1, typename T2, typename T3, typename T4
111
 
    , typename T5, typename T6
112
 
    >
113
 
struct list<
114
 
          T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na
115
 
        , na, na, na
116
 
        >
117
 
    : list7< T0,T1,T2,T3,T4,T5,T6 >
118
 
{
119
 
    typedef typename list7< T0,T1,T2,T3,T4,T5,T6 >::type type;
120
 
};
121
 
 
122
 
template<
123
 
      typename T0, typename T1, typename T2, typename T3, typename T4
124
 
    , typename T5, typename T6, typename T7
125
 
    >
126
 
struct list<
127
 
          T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na
128
 
        , na, na, na
129
 
        >
130
 
    : list8< T0,T1,T2,T3,T4,T5,T6,T7 >
131
 
{
132
 
    typedef typename list8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type;
133
 
};
134
 
 
135
 
template<
136
 
      typename T0, typename T1, typename T2, typename T3, typename T4
137
 
    , typename T5, typename T6, typename T7, typename T8
138
 
    >
139
 
struct list<
140
 
          T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na
141
 
        , na, na, na
142
 
        >
143
 
    : list9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >
144
 
{
145
 
    typedef typename list9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type;
146
 
};
147
 
 
148
 
template<
149
 
      typename T0, typename T1, typename T2, typename T3, typename T4
150
 
    , typename T5, typename T6, typename T7, typename T8, typename T9
151
 
    >
152
 
struct list<
153
 
          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na
154
 
        , na, na, na
155
 
        >
156
 
    : list10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >
157
 
{
158
 
    typedef typename list10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type;
159
 
};
160
 
 
161
 
template<
162
 
      typename T0, typename T1, typename T2, typename T3, typename T4
163
 
    , typename T5, typename T6, typename T7, typename T8, typename T9
164
 
    , typename T10
165
 
    >
166
 
struct list<
167
 
          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na
168
 
        , na, na, na
169
 
        >
170
 
    : list11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >
171
 
{
172
 
    typedef typename list11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type;
173
 
};
174
 
 
175
 
template<
176
 
      typename T0, typename T1, typename T2, typename T3, typename T4
177
 
    , typename T5, typename T6, typename T7, typename T8, typename T9
178
 
    , typename T10, typename T11
179
 
    >
180
 
struct list<
181
 
          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na
182
 
        , na, na, na, na
183
 
        >
184
 
    : list12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >
185
 
{
186
 
    typedef typename list12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type;
187
 
};
188
 
 
189
 
template<
190
 
      typename T0, typename T1, typename T2, typename T3, typename T4
191
 
    , typename T5, typename T6, typename T7, typename T8, typename T9
192
 
    , typename T10, typename T11, typename T12
193
 
    >
194
 
struct list<
195
 
          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na
196
 
        , na, na, na, na
197
 
        >
198
 
    : list13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >
199
 
{
200
 
    typedef typename list13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type;
201
 
};
202
 
 
203
 
template<
204
 
      typename T0, typename T1, typename T2, typename T3, typename T4
205
 
    , typename T5, typename T6, typename T7, typename T8, typename T9
206
 
    , typename T10, typename T11, typename T12, typename T13
207
 
    >
208
 
struct list<
209
 
          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na
210
 
        , na, na, na, na
211
 
        >
212
 
    : list14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >
213
 
{
214
 
    typedef typename list14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type;
215
 
};
216
 
 
217
 
template<
218
 
      typename T0, typename T1, typename T2, typename T3, typename T4
219
 
    , typename T5, typename T6, typename T7, typename T8, typename T9
220
 
    , typename T10, typename T11, typename T12, typename T13, typename T14
221
 
    >
222
 
struct list<
223
 
          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na
224
 
        , na, na, na, na
225
 
        >
226
 
    : list15<
227
 
          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
228
 
        >
229
 
{
230
 
    typedef typename list15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type;
231
 
};
232
 
 
233
 
template<
234
 
      typename T0, typename T1, typename T2, typename T3, typename T4
235
 
    , typename T5, typename T6, typename T7, typename T8, typename T9
236
 
    , typename T10, typename T11, typename T12, typename T13, typename T14
237
 
    , typename T15
238
 
    >
239
 
struct list<
240
 
          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
241
 
        , T15, na, na, na, na
242
 
        >
243
 
    : list16<
244
 
          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
245
 
        , T15
246
 
        >
247
 
{
248
 
    typedef typename list16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type;
249
 
};
250
 
 
251
 
template<
252
 
      typename T0, typename T1, typename T2, typename T3, typename T4
253
 
    , typename T5, typename T6, typename T7, typename T8, typename T9
254
 
    , typename T10, typename T11, typename T12, typename T13, typename T14
255
 
    , typename T15, typename T16
256
 
    >
257
 
struct list<
258
 
          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
259
 
        , T15, T16, na, na, na
260
 
        >
261
 
    : list17<
262
 
          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
263
 
        , T15, T16
264
 
        >
265
 
{
266
 
    typedef typename list17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type;
267
 
};
268
 
 
269
 
template<
270
 
      typename T0, typename T1, typename T2, typename T3, typename T4
271
 
    , typename T5, typename T6, typename T7, typename T8, typename T9
272
 
    , typename T10, typename T11, typename T12, typename T13, typename T14
273
 
    , typename T15, typename T16, typename T17
274
 
    >
275
 
struct list<
276
 
          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
277
 
        , T15, T16, T17, na, na
278
 
        >
279
 
    : list18<
280
 
          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
281
 
        , T15, T16, T17
282
 
        >
283
 
{
284
 
    typedef typename list18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type;
285
 
};
286
 
 
287
 
template<
288
 
      typename T0, typename T1, typename T2, typename T3, typename T4
289
 
    , typename T5, typename T6, typename T7, typename T8, typename T9
290
 
    , typename T10, typename T11, typename T12, typename T13, typename T14
291
 
    , typename T15, typename T16, typename T17, typename T18
292
 
    >
293
 
struct list<
294
 
          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
295
 
        , T15, T16, T17, T18, na
296
 
        >
297
 
    : list19<
298
 
          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
299
 
        , T15, T16, T17, T18
300
 
        >
301
 
{
302
 
    typedef typename list19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type;
303
 
};
304
 
 
305
 
/// primary template (not a specialization!)
306
 
 
307
 
template<
308
 
      typename T0, typename T1, typename T2, typename T3, typename T4
309
 
    , typename T5, typename T6, typename T7, typename T8, typename T9
310
 
    , typename T10, typename T11, typename T12, typename T13, typename T14
311
 
    , typename T15, typename T16, typename T17, typename T18, typename T19
312
 
    >
313
 
struct list
314
 
    : list20<
315
 
          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
316
 
        , T15, T16, T17, T18, T19
317
 
        >
318
 
{
319
 
    typedef typename list20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type;
320
 
};
321
 
 
322
 
}}
323
 
 
 
1
 
 
2
// Copyright Aleksey Gurtovoy 2000-2004
 
3
//
 
4
// Distributed under the Boost Software License, Version 1.0. 
 
5
// (See accompanying file LICENSE_1_0.txt or copy at 
 
6
// http://www.boost.org/LICENSE_1_0.txt)
 
7
//
 
8
 
 
9
// *Preprocessed* version of the main "list.hpp" header
 
10
// -- DO NOT modify by hand!
 
11
 
 
12
namespace boost { namespace mpl {
 
13
 
 
14
template<
 
15
      typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na
 
16
    , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na
 
17
    , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na
 
18
    , typename T12 = na, typename T13 = na, typename T14 = na
 
19
    , typename T15 = na, typename T16 = na, typename T17 = na
 
20
    , typename T18 = na, typename T19 = na
 
21
    >
 
22
struct list;
 
23
 
 
24
template<
 
25
     
 
26
    >
 
27
struct list<
 
28
          na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
 
29
        , na, na, na
 
30
        >
 
31
    : list0<  >
 
32
{
 
33
    typedef list0<  >::type type;
 
34
};
 
35
 
 
36
template<
 
37
      typename T0
 
38
    >
 
39
struct list<
 
40
          T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
 
41
        , na, na, na
 
42
        >
 
43
    : list1<T0>
 
44
{
 
45
    typedef typename list1<T0>::type type;
 
46
};
 
47
 
 
48
template<
 
49
      typename T0, typename T1
 
50
    >
 
51
struct list<
 
52
          T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na
 
53
        , na, na, na
 
54
        >
 
55
    : list2< T0,T1 >
 
56
{
 
57
    typedef typename list2< T0,T1 >::type type;
 
58
};
 
59
 
 
60
template<
 
61
      typename T0, typename T1, typename T2
 
62
    >
 
63
struct list<
 
64
          T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na
 
65
        , na, na, na
 
66
        >
 
67
    : list3< T0,T1,T2 >
 
68
{
 
69
    typedef typename list3< T0,T1,T2 >::type type;
 
70
};
 
71
 
 
72
template<
 
73
      typename T0, typename T1, typename T2, typename T3
 
74
    >
 
75
struct list<
 
76
          T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na
 
77
        , na, na, na
 
78
        >
 
79
    : list4< T0,T1,T2,T3 >
 
80
{
 
81
    typedef typename list4< T0,T1,T2,T3 >::type type;
 
82
};
 
83
 
 
84
template<
 
85
      typename T0, typename T1, typename T2, typename T3, typename T4
 
86
    >
 
87
struct list<
 
88
          T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na
 
89
        , na, na, na
 
90
        >
 
91
    : list5< T0,T1,T2,T3,T4 >
 
92
{
 
93
    typedef typename list5< T0,T1,T2,T3,T4 >::type type;
 
94
};
 
95
 
 
96
template<
 
97
      typename T0, typename T1, typename T2, typename T3, typename T4
 
98
    , typename T5
 
99
    >
 
100
struct list<
 
101
          T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na
 
102
        , na, na, na
 
103
        >
 
104
    : list6< T0,T1,T2,T3,T4,T5 >
 
105
{
 
106
    typedef typename list6< T0,T1,T2,T3,T4,T5 >::type type;
 
107
};
 
108
 
 
109
template<
 
110
      typename T0, typename T1, typename T2, typename T3, typename T4
 
111
    , typename T5, typename T6
 
112
    >
 
113
struct list<
 
114
          T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na
 
115
        , na, na, na
 
116
        >
 
117
    : list7< T0,T1,T2,T3,T4,T5,T6 >
 
118
{
 
119
    typedef typename list7< T0,T1,T2,T3,T4,T5,T6 >::type type;
 
120
};
 
121
 
 
122
template<
 
123
      typename T0, typename T1, typename T2, typename T3, typename T4
 
124
    , typename T5, typename T6, typename T7
 
125
    >
 
126
struct list<
 
127
          T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na
 
128
        , na, na, na
 
129
        >
 
130
    : list8< T0,T1,T2,T3,T4,T5,T6,T7 >
 
131
{
 
132
    typedef typename list8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type;
 
133
};
 
134
 
 
135
template<
 
136
      typename T0, typename T1, typename T2, typename T3, typename T4
 
137
    , typename T5, typename T6, typename T7, typename T8
 
138
    >
 
139
struct list<
 
140
          T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na
 
141
        , na, na, na
 
142
        >
 
143
    : list9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >
 
144
{
 
145
    typedef typename list9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type;
 
146
};
 
147
 
 
148
template<
 
149
      typename T0, typename T1, typename T2, typename T3, typename T4
 
150
    , typename T5, typename T6, typename T7, typename T8, typename T9
 
151
    >
 
152
struct list<
 
153
          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na
 
154
        , na, na, na
 
155
        >
 
156
    : list10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >
 
157
{
 
158
    typedef typename list10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type;
 
159
};
 
160
 
 
161
template<
 
162
      typename T0, typename T1, typename T2, typename T3, typename T4
 
163
    , typename T5, typename T6, typename T7, typename T8, typename T9
 
164
    , typename T10
 
165
    >
 
166
struct list<
 
167
          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na
 
168
        , na, na, na
 
169
        >
 
170
    : list11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >
 
171
{
 
172
    typedef typename list11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type;
 
173
};
 
174
 
 
175
template<
 
176
      typename T0, typename T1, typename T2, typename T3, typename T4
 
177
    , typename T5, typename T6, typename T7, typename T8, typename T9
 
178
    , typename T10, typename T11
 
179
    >
 
180
struct list<
 
181
          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na
 
182
        , na, na, na, na
 
183
        >
 
184
    : list12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >
 
185
{
 
186
    typedef typename list12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type;
 
187
};
 
188
 
 
189
template<
 
190
      typename T0, typename T1, typename T2, typename T3, typename T4
 
191
    , typename T5, typename T6, typename T7, typename T8, typename T9
 
192
    , typename T10, typename T11, typename T12
 
193
    >
 
194
struct list<
 
195
          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na
 
196
        , na, na, na, na
 
197
        >
 
198
    : list13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >
 
199
{
 
200
    typedef typename list13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type;
 
201
};
 
202
 
 
203
template<
 
204
      typename T0, typename T1, typename T2, typename T3, typename T4
 
205
    , typename T5, typename T6, typename T7, typename T8, typename T9
 
206
    , typename T10, typename T11, typename T12, typename T13
 
207
    >
 
208
struct list<
 
209
          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na
 
210
        , na, na, na, na
 
211
        >
 
212
    : list14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >
 
213
{
 
214
    typedef typename list14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type;
 
215
};
 
216
 
 
217
template<
 
218
      typename T0, typename T1, typename T2, typename T3, typename T4
 
219
    , typename T5, typename T6, typename T7, typename T8, typename T9
 
220
    , typename T10, typename T11, typename T12, typename T13, typename T14
 
221
    >
 
222
struct list<
 
223
          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na
 
224
        , na, na, na, na
 
225
        >
 
226
    : list15<
 
227
          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
 
228
        >
 
229
{
 
230
    typedef typename list15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type;
 
231
};
 
232
 
 
233
template<
 
234
      typename T0, typename T1, typename T2, typename T3, typename T4
 
235
    , typename T5, typename T6, typename T7, typename T8, typename T9
 
236
    , typename T10, typename T11, typename T12, typename T13, typename T14
 
237
    , typename T15
 
238
    >
 
239
struct list<
 
240
          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
 
241
        , T15, na, na, na, na
 
242
        >
 
243
    : list16<
 
244
          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
 
245
        , T15
 
246
        >
 
247
{
 
248
    typedef typename list16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type;
 
249
};
 
250
 
 
251
template<
 
252
      typename T0, typename T1, typename T2, typename T3, typename T4
 
253
    , typename T5, typename T6, typename T7, typename T8, typename T9
 
254
    , typename T10, typename T11, typename T12, typename T13, typename T14
 
255
    , typename T15, typename T16
 
256
    >
 
257
struct list<
 
258
          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
 
259
        , T15, T16, na, na, na
 
260
        >
 
261
    : list17<
 
262
          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
 
263
        , T15, T16
 
264
        >
 
265
{
 
266
    typedef typename list17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type;
 
267
};
 
268
 
 
269
template<
 
270
      typename T0, typename T1, typename T2, typename T3, typename T4
 
271
    , typename T5, typename T6, typename T7, typename T8, typename T9
 
272
    , typename T10, typename T11, typename T12, typename T13, typename T14
 
273
    , typename T15, typename T16, typename T17
 
274
    >
 
275
struct list<
 
276
          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
 
277
        , T15, T16, T17, na, na
 
278
        >
 
279
    : list18<
 
280
          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
 
281
        , T15, T16, T17
 
282
        >
 
283
{
 
284
    typedef typename list18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type;
 
285
};
 
286
 
 
287
template<
 
288
      typename T0, typename T1, typename T2, typename T3, typename T4
 
289
    , typename T5, typename T6, typename T7, typename T8, typename T9
 
290
    , typename T10, typename T11, typename T12, typename T13, typename T14
 
291
    , typename T15, typename T16, typename T17, typename T18
 
292
    >
 
293
struct list<
 
294
          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
 
295
        , T15, T16, T17, T18, na
 
296
        >
 
297
    : list19<
 
298
          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
 
299
        , T15, T16, T17, T18
 
300
        >
 
301
{
 
302
    typedef typename list19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type;
 
303
};
 
304
 
 
305
/// primary template (not a specialization!)
 
306
 
 
307
template<
 
308
      typename T0, typename T1, typename T2, typename T3, typename T4
 
309
    , typename T5, typename T6, typename T7, typename T8, typename T9
 
310
    , typename T10, typename T11, typename T12, typename T13, typename T14
 
311
    , typename T15, typename T16, typename T17, typename T18, typename T19
 
312
    >
 
313
struct list
 
314
    : list20<
 
315
          T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14
 
316
        , T15, T16, T17, T18, T19
 
317
        >
 
318
{
 
319
    typedef typename list20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type;
 
320
};
 
321
 
 
322
}}
 
323