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