1 ////////////////////////////////////////////////////////////////////////////////
2 // The Loki Library
3 // Copyright (c) 2005 by Peter K�mmel
4 // Permission to use, copy, modify, distribute and sell this software for any
5 //     purpose is hereby granted without fee, provided that the above copyright
6 //     notice appear in all copies and that both that copyright notice and this
7 //     permission notice appear in supporting documentation.
8 // The author makes no representations about the
9 //     suitability of this software for any purpose. It is provided "as is"
10 //     without express or implied warranty.
11 ////////////////////////////////////////////////////////////////////////////////
12 #ifndef LOKI_SEQUENCE_INC_
13 #define LOKI_SEQUENCE_INC_
14 
15 // $Id: Sequence.h 768 2006-10-25 20:40:40Z syntheticpp $
16 
17 
18 #include "Typelist.h"
19 
20 namespace Loki
21 {
22 
23     template
24     <
25         class T01=NullType,class T02=NullType,class T03=NullType,class T04=NullType,class T05=NullType,
26         class T06=NullType,class T07=NullType,class T08=NullType,class T09=NullType,class T10=NullType,
27         class T11=NullType,class T12=NullType,class T13=NullType,class T14=NullType,class T15=NullType,
28         class T16=NullType,class T17=NullType,class T18=NullType,class T19=NullType,class T20=NullType
29     >
30     struct Seq
31     {
32     private:
33         typedef typename Seq<     T02, T03, T04, T05, T06, T07, T08, T09, T10,
34                              T11, T12, T13, T14, T15, T16, T17, T18, T19, T20>::Type
35                          TailResult;
36     public:
37         typedef Typelist<T01, TailResult> Type;
38     };
39 
40     template<>
41     struct Seq<>
42     {
43         typedef NullType Type;
44     };
45 
46 }   // namespace Loki
47 
48 #endif // end file guardian
49 
50