192 lines
		
	
	
		
			15 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
		
		
			
		
	
	
			192 lines
		
	
	
		
			15 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
|   | /*============================================================================= | ||
|  |     Copyright (c) 2001-2011 Joel de Guzman | ||
|  | 
 | ||
|  |     Distributed under the Boost Software License, Version 1.0. (See accompanying | ||
|  |     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) | ||
|  | 
 | ||
|  |     This is an auto-generated file. Do not edit! | ||
|  | ==============================================================================*/ | ||
|  | namespace boost { namespace fusion | ||
|  | { | ||
|  |     struct void_; | ||
|  |     namespace result_of | ||
|  |     { | ||
|  |         template < | ||
|  |             typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ | ||
|  |           , typename Extra = void_ | ||
|  |         > | ||
|  |         struct make_vector; | ||
|  |         template <> | ||
|  |         struct make_vector<> | ||
|  |         { | ||
|  |             typedef vector0<> type; | ||
|  |         }; | ||
|  |     } | ||
|  |     BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED | ||
|  |     inline vector0<> | ||
|  |     make_vector() | ||
|  |     { | ||
|  |         return vector0<>(); | ||
|  |     } | ||
|  |     namespace result_of | ||
|  |     { | ||
|  |         template <typename T0> | ||
|  |         struct make_vector< T0 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > | ||
|  |         { | ||
|  |             typedef vector1<typename detail::as_fusion_element<T0>::type> type; | ||
|  |         }; | ||
|  |     } | ||
|  |     template <typename T0> | ||
|  |     BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED | ||
|  |     inline vector1<typename detail::as_fusion_element<T0>::type> | ||
|  |     make_vector(T0 const& arg0) | ||
|  |     { | ||
|  |         return vector1<typename detail::as_fusion_element<T0>::type>( | ||
|  |             arg0); | ||
|  |     } | ||
|  |     namespace result_of | ||
|  |     { | ||
|  |         template <typename T0 , typename T1> | ||
|  |         struct make_vector< T0 , T1 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > | ||
|  |         { | ||
|  |             typedef vector2<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type> type; | ||
|  |         }; | ||
|  |     } | ||
|  |     template <typename T0 , typename T1> | ||
|  |     BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED | ||
|  |     inline vector2<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type> | ||
|  |     make_vector(T0 const& arg0 , T1 const& arg1) | ||
|  |     { | ||
|  |         return vector2<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type>( | ||
|  |             arg0 , arg1); | ||
|  |     } | ||
|  |     namespace result_of | ||
|  |     { | ||
|  |         template <typename T0 , typename T1 , typename T2> | ||
|  |         struct make_vector< T0 , T1 , T2 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > | ||
|  |         { | ||
|  |             typedef vector3<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type> type; | ||
|  |         }; | ||
|  |     } | ||
|  |     template <typename T0 , typename T1 , typename T2> | ||
|  |     BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED | ||
|  |     inline vector3<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type> | ||
|  |     make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2) | ||
|  |     { | ||
|  |         return vector3<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type>( | ||
|  |             arg0 , arg1 , arg2); | ||
|  |     } | ||
|  |     namespace result_of | ||
|  |     { | ||
|  |         template <typename T0 , typename T1 , typename T2 , typename T3> | ||
|  |         struct make_vector< T0 , T1 , T2 , T3 , void_ , void_ , void_ , void_ , void_ , void_ , void_ > | ||
|  |         { | ||
|  |             typedef vector4<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type> type; | ||
|  |         }; | ||
|  |     } | ||
|  |     template <typename T0 , typename T1 , typename T2 , typename T3> | ||
|  |     BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED | ||
|  |     inline vector4<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type> | ||
|  |     make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3) | ||
|  |     { | ||
|  |         return vector4<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type>( | ||
|  |             arg0 , arg1 , arg2 , arg3); | ||
|  |     } | ||
|  |     namespace result_of | ||
|  |     { | ||
|  |         template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4> | ||
|  |         struct make_vector< T0 , T1 , T2 , T3 , T4 , void_ , void_ , void_ , void_ , void_ , void_ > | ||
|  |         { | ||
|  |             typedef vector5<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type> type; | ||
|  |         }; | ||
|  |     } | ||
|  |     template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4> | ||
|  |     BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED | ||
|  |     inline vector5<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type> | ||
|  |     make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4) | ||
|  |     { | ||
|  |         return vector5<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type>( | ||
|  |             arg0 , arg1 , arg2 , arg3 , arg4); | ||
|  |     } | ||
|  |     namespace result_of | ||
|  |     { | ||
|  |         template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5> | ||
|  |         struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , void_ , void_ , void_ , void_ , void_ > | ||
|  |         { | ||
|  |             typedef vector6<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type> type; | ||
|  |         }; | ||
|  |     } | ||
|  |     template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5> | ||
|  |     BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED | ||
|  |     inline vector6<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type> | ||
|  |     make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5) | ||
|  |     { | ||
|  |         return vector6<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type>( | ||
|  |             arg0 , arg1 , arg2 , arg3 , arg4 , arg5); | ||
|  |     } | ||
|  |     namespace result_of | ||
|  |     { | ||
|  |         template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6> | ||
|  |         struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , void_ , void_ , void_ , void_ > | ||
|  |         { | ||
|  |             typedef vector7<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type> type; | ||
|  |         }; | ||
|  |     } | ||
|  |     template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6> | ||
|  |     BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED | ||
|  |     inline vector7<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type> | ||
|  |     make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6) | ||
|  |     { | ||
|  |         return vector7<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type>( | ||
|  |             arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6); | ||
|  |     } | ||
|  |     namespace result_of | ||
|  |     { | ||
|  |         template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7> | ||
|  |         struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , void_ , void_ , void_ > | ||
|  |         { | ||
|  |             typedef vector8<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type> type; | ||
|  |         }; | ||
|  |     } | ||
|  |     template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7> | ||
|  |     BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED | ||
|  |     inline vector8<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type> | ||
|  |     make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7) | ||
|  |     { | ||
|  |         return vector8<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type>( | ||
|  |             arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7); | ||
|  |     } | ||
|  |     namespace result_of | ||
|  |     { | ||
|  |         template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8> | ||
|  |         struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , void_ , void_ > | ||
|  |         { | ||
|  |             typedef vector9<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type> type; | ||
|  |         }; | ||
|  |     } | ||
|  |     template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8> | ||
|  |     BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED | ||
|  |     inline vector9<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type> | ||
|  |     make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8) | ||
|  |     { | ||
|  |         return vector9<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type>( | ||
|  |             arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8); | ||
|  |     } | ||
|  |     namespace result_of | ||
|  |     { | ||
|  |         template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9> | ||
|  |         struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , void_ > | ||
|  |         { | ||
|  |             typedef vector10<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type> type; | ||
|  |         }; | ||
|  |     } | ||
|  |     template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9> | ||
|  |     BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED | ||
|  |     inline vector10<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type> | ||
|  |     make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9) | ||
|  |     { | ||
|  |         return vector10<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type>( | ||
|  |             arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9); | ||
|  |     } | ||
|  | }} |