PageRenderTime 51ms CodeModel.GetById 11ms app.highlight 36ms RepoModel.GetById 1ms app.codeStats 0ms

/src/contrib/boost/mpl/aux_/preprocessed/msvc60/set_c.hpp

http://pythonocc.googlecode.com/
C++ Header | 534 lines | 426 code | 100 blank | 8 comment | 0 complexity | d485acc1a5bd5e5891388d3e43410c78 MD5 | raw file
  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 "boost/mpl/set_c.hpp" header
 10// -- DO NOT modify by hand!
 11
 12namespace boost { namespace mpl {
 13
 14namespace aux {
 15template< int N >
 16struct set_c_chooser;
 17
 18}
 19
 20namespace aux {
 21
 22template<>
 23struct set_c_chooser<0>
 24{
 25    template<
 26          typename T, long C0, long C1, long C2, long C3, long C4, long C5
 27        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
 28        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
 29        >
 30    struct result_
 31    {
 32        typedef typename set0_c<
 33              T
 34            >::type type;
 35
 36    };
 37};
 38
 39} // namespace aux
 40
 41namespace aux {
 42
 43template<>
 44struct set_c_chooser<1>
 45{
 46    template<
 47          typename T, long C0, long C1, long C2, long C3, long C4, long C5
 48        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
 49        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
 50        >
 51    struct result_
 52    {
 53        typedef typename set1_c<
 54              T, C0
 55            >::type type;
 56
 57    };
 58};
 59
 60} // namespace aux
 61
 62namespace aux {
 63
 64template<>
 65struct set_c_chooser<2>
 66{
 67    template<
 68          typename T, long C0, long C1, long C2, long C3, long C4, long C5
 69        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
 70        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
 71        >
 72    struct result_
 73    {
 74        typedef typename set2_c<
 75              T, C0, C1
 76            >::type type;
 77
 78    };
 79};
 80
 81} // namespace aux
 82
 83namespace aux {
 84
 85template<>
 86struct set_c_chooser<3>
 87{
 88    template<
 89          typename T, long C0, long C1, long C2, long C3, long C4, long C5
 90        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
 91        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
 92        >
 93    struct result_
 94    {
 95        typedef typename set3_c<
 96              T, C0, C1, C2
 97            >::type type;
 98
 99    };
100};
101
102} // namespace aux
103
104namespace aux {
105
106template<>
107struct set_c_chooser<4>
108{
109    template<
110          typename T, long C0, long C1, long C2, long C3, long C4, long C5
111        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
112        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
113        >
114    struct result_
115    {
116        typedef typename set4_c<
117              T, C0, C1, C2, C3
118            >::type type;
119
120    };
121};
122
123} // namespace aux
124
125namespace aux {
126
127template<>
128struct set_c_chooser<5>
129{
130    template<
131          typename T, long C0, long C1, long C2, long C3, long C4, long C5
132        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
133        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
134        >
135    struct result_
136    {
137        typedef typename set5_c<
138              T, C0, C1, C2, C3, C4
139            >::type type;
140
141    };
142};
143
144} // namespace aux
145
146namespace aux {
147
148template<>
149struct set_c_chooser<6>
150{
151    template<
152          typename T, long C0, long C1, long C2, long C3, long C4, long C5
153        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
154        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
155        >
156    struct result_
157    {
158        typedef typename set6_c<
159              T, C0, C1, C2, C3, C4, C5
160            >::type type;
161
162    };
163};
164
165} // namespace aux
166
167namespace aux {
168
169template<>
170struct set_c_chooser<7>
171{
172    template<
173          typename T, long C0, long C1, long C2, long C3, long C4, long C5
174        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
175        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
176        >
177    struct result_
178    {
179        typedef typename set7_c<
180              T, C0, C1, C2, C3, C4, C5, C6
181            >::type type;
182
183    };
184};
185
186} // namespace aux
187
188namespace aux {
189
190template<>
191struct set_c_chooser<8>
192{
193    template<
194          typename T, long C0, long C1, long C2, long C3, long C4, long C5
195        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
196        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
197        >
198    struct result_
199    {
200        typedef typename set8_c<
201              T, C0, C1, C2, C3, C4, C5, C6, C7
202            >::type type;
203
204    };
205};
206
207} // namespace aux
208
209namespace aux {
210
211template<>
212struct set_c_chooser<9>
213{
214    template<
215          typename T, long C0, long C1, long C2, long C3, long C4, long C5
216        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
217        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
218        >
219    struct result_
220    {
221        typedef typename set9_c<
222              T, C0, C1, C2, C3, C4, C5, C6, C7, C8
223            >::type type;
224
225    };
226};
227
228} // namespace aux
229
230namespace aux {
231
232template<>
233struct set_c_chooser<10>
234{
235    template<
236          typename T, long C0, long C1, long C2, long C3, long C4, long C5
237        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
238        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
239        >
240    struct result_
241    {
242        typedef typename set10_c<
243              T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9
244            >::type type;
245
246    };
247};
248
249} // namespace aux
250
251namespace aux {
252
253template<>
254struct set_c_chooser<11>
255{
256    template<
257          typename T, long C0, long C1, long C2, long C3, long C4, long C5
258        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
259        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
260        >
261    struct result_
262    {
263        typedef typename set11_c<
264              T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10
265            >::type type;
266
267    };
268};
269
270} // namespace aux
271
272namespace aux {
273
274template<>
275struct set_c_chooser<12>
276{
277    template<
278          typename T, long C0, long C1, long C2, long C3, long C4, long C5
279        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
280        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
281        >
282    struct result_
283    {
284        typedef typename set12_c<
285              T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11
286            >::type type;
287
288    };
289};
290
291} // namespace aux
292
293namespace aux {
294
295template<>
296struct set_c_chooser<13>
297{
298    template<
299          typename T, long C0, long C1, long C2, long C3, long C4, long C5
300        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
301        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
302        >
303    struct result_
304    {
305        typedef typename set13_c<
306              T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12
307            >::type type;
308
309    };
310};
311
312} // namespace aux
313
314namespace aux {
315
316template<>
317struct set_c_chooser<14>
318{
319    template<
320          typename T, long C0, long C1, long C2, long C3, long C4, long C5
321        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
322        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
323        >
324    struct result_
325    {
326        typedef typename set14_c<
327              T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13
328            >::type type;
329
330    };
331};
332
333} // namespace aux
334
335namespace aux {
336
337template<>
338struct set_c_chooser<15>
339{
340    template<
341          typename T, long C0, long C1, long C2, long C3, long C4, long C5
342        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
343        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
344        >
345    struct result_
346    {
347        typedef typename set15_c<
348              T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14
349            >::type type;
350
351    };
352};
353
354} // namespace aux
355
356namespace aux {
357
358template<>
359struct set_c_chooser<16>
360{
361    template<
362          typename T, long C0, long C1, long C2, long C3, long C4, long C5
363        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
364        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
365        >
366    struct result_
367    {
368        typedef typename set16_c<
369              T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15
370            >::type type;
371
372    };
373};
374
375} // namespace aux
376
377namespace aux {
378
379template<>
380struct set_c_chooser<17>
381{
382    template<
383          typename T, long C0, long C1, long C2, long C3, long C4, long C5
384        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
385        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
386        >
387    struct result_
388    {
389        typedef typename set17_c<
390              T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16
391            >::type type;
392
393    };
394};
395
396} // namespace aux
397
398namespace aux {
399
400template<>
401struct set_c_chooser<18>
402{
403    template<
404          typename T, long C0, long C1, long C2, long C3, long C4, long C5
405        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
406        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
407        >
408    struct result_
409    {
410        typedef typename set18_c<
411              T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17
412            >::type type;
413
414    };
415};
416
417} // namespace aux
418
419namespace aux {
420
421template<>
422struct set_c_chooser<19>
423{
424    template<
425          typename T, long C0, long C1, long C2, long C3, long C4, long C5
426        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
427        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
428        >
429    struct result_
430    {
431        typedef typename set19_c<
432              T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18
433            >::type type;
434
435    };
436};
437
438} // namespace aux
439
440namespace aux {
441
442template<>
443struct set_c_chooser<20>
444{
445    template<
446          typename T, long C0, long C1, long C2, long C3, long C4, long C5
447        , long C6, long C7, long C8, long C9, long C10, long C11, long C12
448        , long C13, long C14, long C15, long C16, long C17, long C18, long C19
449        >
450    struct result_
451    {
452        typedef typename set20_c<
453              T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19
454            >::type type;
455
456    };
457};
458
459} // namespace aux
460
461namespace aux {
462
463template< long C >
464struct is_set_c_arg
465{
466    BOOST_STATIC_CONSTANT(bool, value  = true);
467};
468
469template<>
470struct is_set_c_arg<LONG_MAX>
471{
472    BOOST_STATIC_CONSTANT(bool, value  = false);
473};
474
475template<
476      long C1, long C2, long C3, long C4, long C5, long C6, long C7, long C8
477    , long C9, long C10, long C11, long C12, long C13, long C14, long C15
478    , long C16, long C17, long C18, long C19, long C20
479    >
480struct set_c_count_args
481{
482    BOOST_STATIC_CONSTANT(int, value =
483          is_set_c_arg<C1>::value + is_set_c_arg<C2>::value 
484        + is_set_c_arg<C3>::value + is_set_c_arg<C4>::value 
485        + is_set_c_arg<C5>::value + is_set_c_arg<C6>::value 
486        + is_set_c_arg<C7>::value + is_set_c_arg<C8>::value 
487        + is_set_c_arg<C9>::value + is_set_c_arg<C10>::value 
488        + is_set_c_arg<C11>::value + is_set_c_arg<C12>::value 
489        + is_set_c_arg<C13>::value + is_set_c_arg<C14>::value 
490        + is_set_c_arg<C15>::value + is_set_c_arg<C16>::value 
491        + is_set_c_arg<C17>::value + is_set_c_arg<C18>::value 
492        + is_set_c_arg<C19>::value + is_set_c_arg<C20>::value
493        );
494
495};
496
497template<
498      typename T, long C0, long C1, long C2, long C3, long C4, long C5
499    , long C6, long C7, long C8, long C9, long C10, long C11, long C12
500    , long C13, long C14, long C15, long C16, long C17, long C18, long C19
501    >
502struct set_c_impl
503{
504    typedef aux::set_c_count_args<
505          C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19
506        > arg_num_;
507
508    typedef typename aux::set_c_chooser< arg_num_::value >
509        ::template result_< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19 >::type type;
510};
511
512} // namespace aux
513
514template<
515      typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX
516    , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX
517    , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX
518    , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX
519    , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX
520    , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX
521    , long C18 = LONG_MAX, long C19 = LONG_MAX
522    >
523struct set_c
524    : aux::set_c_impl<
525          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19
526        >::type
527{
528    typedef typename aux::set_c_impl<
529          T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19
530        >::type type;
531};
532
533}}
534