diff options
| author | Willem Jan Palenstijn <Willem.Jan.Palenstijn@cwi.nl> | 2017-02-16 14:47:07 +0100 | 
|---|---|---|
| committer | Willem Jan Palenstijn <Willem.Jan.Palenstijn@cwi.nl> | 2017-02-16 14:48:45 +0100 | 
| commit | 8de844c3521d9ee54087927923b932e1016c5b90 (patch) | |
| tree | 60f39ef08ef7285bd15f3300eeff676b420b9662 | |
| parent | 27e23f29f368e06315f2ea381ef38a3affa93c64 (diff) | |
| download | astra-8de844c3521d9ee54087927923b932e1016c5b90.tar.gz astra-8de844c3521d9ee54087927923b932e1016c5b90.tar.bz2 astra-8de844c3521d9ee54087927923b932e1016c5b90.tar.xz astra-8de844c3521d9ee54087927923b932e1016c5b90.zip | |
Remove using namespace astra; from headers
| -rw-r--r-- | include/astra/AlgorithmTypelist.h | 8 | ||||
| -rw-r--r-- | include/astra/AstraObjectFactory.h | 4 | ||||
| -rw-r--r-- | include/astra/FanFlatBeamLineKernelProjector2D.inl | 2 | ||||
| -rw-r--r-- | include/astra/FanFlatBeamStripKernelProjector2D.inl | 2 | ||||
| -rw-r--r-- | include/astra/ProjectorTypelist.h | 25 | ||||
| -rw-r--r-- | include/astra/TypeList.h | 82 | 
6 files changed, 57 insertions, 66 deletions
| diff --git a/include/astra/AlgorithmTypelist.h b/include/astra/AlgorithmTypelist.h index 7779eaa..e37d242 100644 --- a/include/astra/AlgorithmTypelist.h +++ b/include/astra/AlgorithmTypelist.h @@ -55,13 +55,12 @@ along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.  #include "CudaDartSmoothingAlgorithm3D.h"  #include "CudaDataOperationAlgorithm.h"  #include "CudaRoiSelectAlgorithm.h" +#include "CudaFilteredBackProjectionAlgorithm.h" -using namespace astra; +namespace astra {  #ifdef ASTRA_CUDA -#include "CudaFilteredBackProjectionAlgorithm.h" -  typedef TYPELIST_25(  			CArtAlgorithm,  			CSartAlgorithm, @@ -90,6 +89,7 @@ typedef TYPELIST_25(  			CCudaBackProjectionAlgorithm3D  			)  	AlgorithmTypeList; +  #else  typedef TYPELIST_7( @@ -104,4 +104,6 @@ typedef TYPELIST_7(  #endif +} +  #endif diff --git a/include/astra/AstraObjectFactory.h b/include/astra/AstraObjectFactory.h index eb22862..746e27a 100644 --- a/include/astra/AstraObjectFactory.h +++ b/include/astra/AstraObjectFactory.h @@ -117,9 +117,9 @@ T* CAstraObjectFactory<T, TypeList>::findPlugin(std::string _sType)  template <typename T, typename TypeList>  T* CAstraObjectFactory<T, TypeList>::create(std::string _sType)   { -	functor_find<T> finder = functor_find<T>(); +	typelist::functor_find<T> finder = typelist::functor_find<T>();  	finder.tofind = _sType; -	CreateObject<TypeList>::find(finder); +	typelist::CreateObject<TypeList>::find(finder);  	if (finder.res == NULL) {  		finder.res = findPlugin(_sType);  	} diff --git a/include/astra/FanFlatBeamLineKernelProjector2D.inl b/include/astra/FanFlatBeamLineKernelProjector2D.inl index b95f030..d967844 100644 --- a/include/astra/FanFlatBeamLineKernelProjector2D.inl +++ b/include/astra/FanFlatBeamLineKernelProjector2D.inl @@ -26,8 +26,6 @@ along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.  */ -using namespace astra; -  template <typename Policy>  void CFanFlatBeamLineKernelProjector2D::project(Policy& p)  { diff --git a/include/astra/FanFlatBeamStripKernelProjector2D.inl b/include/astra/FanFlatBeamStripKernelProjector2D.inl index eaf50e6..743b7c5 100644 --- a/include/astra/FanFlatBeamStripKernelProjector2D.inl +++ b/include/astra/FanFlatBeamStripKernelProjector2D.inl @@ -26,8 +26,6 @@ along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.  */ -using namespace astra; -  template <typename Policy>  void CFanFlatBeamStripKernelProjector2D::project(Policy& p)  { diff --git a/include/astra/ProjectorTypelist.h b/include/astra/ProjectorTypelist.h index 2c6eaa2..ea6a568 100644 --- a/include/astra/ProjectorTypelist.h +++ b/include/astra/ProjectorTypelist.h @@ -31,9 +31,6 @@ along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.  #include "Projector2D.h"  #include "TypeList.h" -using namespace astra; -using namespace astra::typelist; -  // Projector2D  #include "Projector2D.h"  #include "ParallelBeamLineKernelProjector2D.h" @@ -43,11 +40,12 @@ using namespace astra::typelist;  #include "SparseMatrixProjector2D.h"  #include "FanFlatBeamLineKernelProjector2D.h"  #include "FanFlatBeamStripKernelProjector2D.h" - -#ifdef ASTRA_CUDA  #include "CudaProjector2D.h" +  namespace astra{ +#ifdef ASTRA_CUDA +  	typedef TYPELIST_8(  				CFanFlatBeamLineKernelProjector2D,  				CFanFlatBeamStripKernelProjector2D, @@ -58,13 +56,9 @@ namespace astra{  				CSparseMatrixProjector2D,  				CCudaProjector2D)  		Projector2DTypeList; -} - -  #else -namespace astra{  	typedef TYPELIST_7(  				CFanFlatBeamLineKernelProjector2D,  				CFanFlatBeamStripKernelProjector2D, @@ -74,30 +68,29 @@ namespace astra{  				CParallelBeamStripKernelProjector2D,   				CSparseMatrixProjector2D)  		Projector2DTypeList; -}  #endif +} +  // Projector3D  #include "Projector3D.h" +#include "CudaProjector3D.h" + +namespace astra {  #ifdef ASTRA_CUDA -#include "CudaProjector3D.h" -namespace astra {  	typedef TYPELIST_1(  				CCudaProjector3D  			)  			Projector3DTypeList; -} -  #else -namespace astra {  	typedef TYPELIST_0 Projector3DTypeList; -}  #endif +}  #endif diff --git a/include/astra/TypeList.h b/include/astra/TypeList.h index e7d7137..57f072b 100644 --- a/include/astra/TypeList.h +++ b/include/astra/TypeList.h @@ -59,95 +59,95 @@ namespace typelist {  	//-----------------------------------------------------------------------------------------  	// linearize typelist -	#define TYPELIST_0 NullType -	#define TYPELIST_1(T1)								TypeList<T1, NullType> -	#define TYPELIST_2(T1,T2)							TypeList<T1, TYPELIST_1(T2) > -	#define TYPELIST_3(T1,T2,T3)						TypeList<T1, TYPELIST_2(T2,T3) > -	#define TYPELIST_4(T1,T2,T3,T4)						TypeList<T1, TYPELIST_3(T2,T3,T4) > -	#define TYPELIST_5(T1,T2,T3,T4,T5)					TypeList<T1, TYPELIST_4(T2,T3,T4,T5) > -	#define TYPELIST_6(T1,T2,T3,T4,T5,T6)				TypeList<T1, TYPELIST_5(T2,T3,T4,T5,T6) > -	#define TYPELIST_7(T1,T2,T3,T4,T5,T6,T7)			TypeList<T1, TYPELIST_6(T2,T3,T4,T5,T6,T7) > -	#define TYPELIST_8(T1,T2,T3,T4,T5,T6,T7,T8)			TypeList<T1, TYPELIST_7(T2,T3,T4,T5,T6,T7,T8) > -	#define TYPELIST_9(T1,T2,T3,T4,T5,T6,T7,T8,T9)		TypeList<T1, TYPELIST_8(T2,T3,T4,T5,T6,T7,T8,T9)> +	#define TYPELIST_0 typelist::NullType +	#define TYPELIST_1(T1)								typelist::TypeList<T1, typelist::NullType> +	#define TYPELIST_2(T1,T2)							typelist::TypeList<T1, TYPELIST_1(T2) > +	#define TYPELIST_3(T1,T2,T3)						typelist::TypeList<T1, TYPELIST_2(T2,T3) > +	#define TYPELIST_4(T1,T2,T3,T4)						typelist::TypeList<T1, TYPELIST_3(T2,T3,T4) > +	#define TYPELIST_5(T1,T2,T3,T4,T5)					typelist::TypeList<T1, TYPELIST_4(T2,T3,T4,T5) > +	#define TYPELIST_6(T1,T2,T3,T4,T5,T6)				typelist::TypeList<T1, TYPELIST_5(T2,T3,T4,T5,T6) > +	#define TYPELIST_7(T1,T2,T3,T4,T5,T6,T7)			typelist::TypeList<T1, TYPELIST_6(T2,T3,T4,T5,T6,T7) > +	#define TYPELIST_8(T1,T2,T3,T4,T5,T6,T7,T8)			typelist::TypeList<T1, TYPELIST_7(T2,T3,T4,T5,T6,T7,T8) > +	#define TYPELIST_9(T1,T2,T3,T4,T5,T6,T7,T8,T9)		typelist::TypeList<T1, TYPELIST_8(T2,T3,T4,T5,T6,T7,T8,T9)>  	#define TYPELIST_10(T1,T2,T3,T4,T5,T6,T7,T8,T9,T10)													\ -			TypeList<T1, TYPELIST_9(T2,T3,T4,T5,T6,T7,T8,T9,T10) > +			typelist::TypeList<T1, TYPELIST_9(T2,T3,T4,T5,T6,T7,T8,T9,T10) >  	#define TYPELIST_11(T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11)												\ -			TypeList<T1, TYPELIST_10(T2,T3,T4,T5,T6,T7,T8,T9,T10,T11) >								 +			typelist::TypeList<T1, TYPELIST_10(T2,T3,T4,T5,T6,T7,T8,T9,T10,T11) >  	#define TYPELIST_12(T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12)											\ -			TypeList<T1, TYPELIST_11(T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12) >							 +			typelist::TypeList<T1, TYPELIST_11(T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12) >  	#define TYPELIST_13(T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13)										\ -			TypeList<T1, TYPELIST_12(T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13) >						 +			typelist::TypeList<T1, TYPELIST_12(T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13) >  	#define TYPELIST_14(T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14)									\ -			TypeList<T1, TYPELIST_13(T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14) >					 +			typelist::TypeList<T1, TYPELIST_13(T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14) >  	#define TYPELIST_15(T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15)								\ -			TypeList<T1, TYPELIST_14(T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15) > +			typelist::TypeList<T1, TYPELIST_14(T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15) >  	#define TYPELIST_16(T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16)							\ -			TypeList<T1, TYPELIST_15(T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16) > +			typelist::TypeList<T1, TYPELIST_15(T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16) >  	#define TYPELIST_17(T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17)						\ -			TypeList<T1, TYPELIST_16(T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17) > +			typelist::TypeList<T1, TYPELIST_16(T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17) >  	#define TYPELIST_18(T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18)					\ -			TypeList<T1, TYPELIST_17(T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18) > +			typelist::TypeList<T1, TYPELIST_17(T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18) >  	#define TYPELIST_19(T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19)				\ -			TypeList<T1, TYPELIST_18(T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19) > +			typelist::TypeList<T1, TYPELIST_18(T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19) >  	#define TYPELIST_20(T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20)			\ -			TypeList<T1, TYPELIST_19(T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20) > +			typelist::TypeList<T1, TYPELIST_19(T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20) >  	#define TYPELIST_21(T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21)		\ -			TypeList<T1, TYPELIST_20(T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21) > +			typelist::TypeList<T1, TYPELIST_20(T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21) >  	#define TYPELIST_22(T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22)		\ -			TypeList<T1, TYPELIST_21(T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22) > +			typelist::TypeList<T1, TYPELIST_21(T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22) >  	#define TYPELIST_23(T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23)		\ -			TypeList<T1, TYPELIST_22(T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23) > +			typelist::TypeList<T1, TYPELIST_22(T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23) >  	#define TYPELIST_24(T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24)		\ -			TypeList<T1, TYPELIST_23(T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24) > +			typelist::TypeList<T1, TYPELIST_23(T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24) >  	#define TYPELIST_25(T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25)		\ -			TypeList<T1, TYPELIST_24(T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25) > +			typelist::TypeList<T1, TYPELIST_24(T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25) >  	#define TYPELIST_26(T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26)		\ -			TypeList<T1, TYPELIST_25(T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26) > +			typelist::TypeList<T1, TYPELIST_25(T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26) >  	#define TYPELIST_27(T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27)		\ -			TypeList<T1, TYPELIST_26(T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27) > +			typelist::TypeList<T1, TYPELIST_26(T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27) >  	#define TYPELIST_28(T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28)		\ -			TypeList<T1, TYPELIST_27(T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28) > +			typelist::TypeList<T1, TYPELIST_27(T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28) >  	#define TYPELIST_29(T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29)		\ -			TypeList<T1, TYPELIST_28(T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29) > +			typelist::TypeList<T1, TYPELIST_28(T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29) >  	#define TYPELIST_30(T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30)		\ -			TypeList<T1, TYPELIST_29(T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30) > +			typelist::TypeList<T1, TYPELIST_29(T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30) >  	#define TYPELIST_31(T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31)		\ -			TypeList<T1, TYPELIST_30(T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31) > +			typelist::TypeList<T1, TYPELIST_30(T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31) >  	#define TYPELIST_32(T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32)		\ -			TypeList<T1, TYPELIST_31(T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32) > +			typelist::TypeList<T1, TYPELIST_31(T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32) >  	#define TYPELIST_33(T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33)		\ -			TypeList<T1, TYPELIST_32(T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33) > +			typelist::TypeList<T1, TYPELIST_32(T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33) >  	#define TYPELIST_34(T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33,T34)		\ -			TypeList<T1, TYPELIST_33(T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33,T34) > +			typelist::TypeList<T1, TYPELIST_33(T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33,T34) >  	#define TYPELIST_35(T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33,T34,T35)		\ -			TypeList<T1, TYPELIST_34(T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33,T34,T35) > +			typelist::TypeList<T1, TYPELIST_34(T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33,T34,T35) >  	#define TYPELIST_36(T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33,T34,T35,T36)		\ -			TypeList<T1, TYPELIST_35(T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33,T34,T35,T36) > +			typelist::TypeList<T1, TYPELIST_35(T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33,T34,T35,T36) >  	#define TYPELIST_37(T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33,T34,T35,T36,T37)		\ -			TypeList<T1, TYPELIST_36(T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33,T34,T35,T36,T37) > +			typelist::TypeList<T1, TYPELIST_36(T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33,T34,T35,T36,T37) >  	#define TYPELIST_38(T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33,T34,T35,T36,T37,T38)		\ -			TypeList<T1, TYPELIST_37(T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33,T34,T35,T36,T37,T38) > +			typelist::TypeList<T1, TYPELIST_37(T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33,T34,T35,T36,T37,T38) >  	#define TYPELIST_39(T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33,T34,T35,T36,T37,T38,T39)		\ -			TypeList<T1, TYPELIST_38(T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33,T34,T35,T36,T37,T38,T39) > +			typelist::TypeList<T1, TYPELIST_38(T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33,T34,T35,T36,T37,T38,T39) >  	#define TYPELIST_40(T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33,T34,T35,T36,T37,T38,T39,T40)		\ -			TypeList<T1, TYPELIST_39(T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33,T34,T35,T36,T37,T38,T39,T40) > +			typelist::TypeList<T1, TYPELIST_39(T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33,T34,T35,T36,T37,T38,T39,T40) >  	//----------------------------------------------------------------------------------------- | 
