Sequence.h

00001 
00002 // The Loki Library
00003 // Copyright (c) 2005 by Peter Kümmel
00004 // Permission to use, copy, modify, distribute and sell this software for any 
00005 //     purpose is hereby granted without fee, provided that the above copyright 
00006 //     notice appear in all copies and that both that copyright notice and this 
00007 //     permission notice appear in supporting documentation.
00008 // The author makes no representations about the 
00009 //     suitability of this software for any purpose. It is provided "as is" 
00010 //     without express or implied warranty.
00012 #ifndef LOKI_SEQUENCE_INC_
00013 #define LOKI_SEQUENCE_INC_
00014 
00015 // $Id: Sequence.h 768 2006-10-25 20:40:40Z syntheticpp $
00016 
00017 
00018 #include "Typelist.h"
00019 
00020 namespace Loki
00021 {
00022 
00023     template
00024     <
00025         class T01=NullType,class T02=NullType,class T03=NullType,class T04=NullType,class T05=NullType,
00026         class T06=NullType,class T07=NullType,class T08=NullType,class T09=NullType,class T10=NullType,
00027         class T11=NullType,class T12=NullType,class T13=NullType,class T14=NullType,class T15=NullType,
00028         class T16=NullType,class T17=NullType,class T18=NullType,class T19=NullType,class T20=NullType
00029     >
00030     struct Seq
00031     {
00032     private:
00033         typedef typename Seq<     T02, T03, T04, T05, T06, T07, T08, T09, T10,
00034                              T11, T12, T13, T14, T15, T16, T17, T18, T19, T20>::Type 
00035                          TailResult;
00036     public:
00037         typedef Typelist<T01, TailResult> Type;
00038     };
00039         
00040     template<>
00041     struct Seq<>
00042     {
00043         typedef NullType Type;
00044     };
00045 
00046 }   // namespace Loki
00047 
00048 #endif // end file guardian
00049 

Generated on Sun Feb 25 16:52:27 2007 for Loki by  doxygen 1.5.1-p1