253 lines
		
	
	
		
			14 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
		
		
			
		
	
	
			253 lines
		
	
	
		
			14 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 { namespace detail | ||
|  | { | ||
|  |     template<typename Key, typename Value, typename Rest> | ||
|  |     struct keyed_element; | ||
|  |     struct nil_keyed_element; | ||
|  |     template<typename N, 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_> | ||
|  |     struct deque_keyed_values_impl; | ||
|  |     template<typename N> | ||
|  |     struct deque_keyed_values_impl<N, void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> | ||
|  |     { | ||
|  |         typedef nil_keyed_element type; | ||
|  |         BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED | ||
|  |         static type construct() | ||
|  |         { | ||
|  |             return type(); | ||
|  |         } | ||
|  |         BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED | ||
|  |         static type forward_() | ||
|  |         { | ||
|  |             return type(); | ||
|  |         } | ||
|  |     }; | ||
|  |     template<typename N, typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9> | ||
|  |     struct deque_keyed_values_impl | ||
|  |     { | ||
|  |         typedef mpl::int_<mpl::plus<N, mpl::int_<1> >::value> next_index; | ||
|  |         typedef typename deque_keyed_values_impl< | ||
|  |             next_index, | ||
|  |             T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9>::type tail; | ||
|  |         typedef keyed_element<N, T0, tail> type; | ||
|  |         BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED | ||
|  |         static type construct(typename detail::call_param<T0 >::type t0) | ||
|  |         { | ||
|  |             return type(t0, | ||
|  |                         deque_keyed_values_impl< | ||
|  |                         next_index | ||
|  |                         >::construct()); | ||
|  |         } | ||
|  | # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) | ||
|  |         template <typename T_0> | ||
|  |         BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED | ||
|  |         static type forward_(T_0 && t0) | ||
|  |         { | ||
|  |             return type(std::forward<T_0>( t0), | ||
|  |                         deque_keyed_values_impl< | ||
|  |                         next_index | ||
|  |                         >::forward_()); | ||
|  |         } | ||
|  | # endif | ||
|  |         BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED | ||
|  |         static type construct(typename detail::call_param<T0 >::type t0 , typename detail::call_param<T1 >::type t1) | ||
|  |         { | ||
|  |             return type(t0, | ||
|  |                         deque_keyed_values_impl< | ||
|  |                         next_index | ||
|  |                         , T1 | ||
|  |                         >::construct(t1)); | ||
|  |         } | ||
|  | # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) | ||
|  |         template <typename T_0 , typename T_1> | ||
|  |         BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED | ||
|  |         static type forward_(T_0 && t0 , T_1 && t1) | ||
|  |         { | ||
|  |             return type(std::forward<T_0>( t0), | ||
|  |                         deque_keyed_values_impl< | ||
|  |                         next_index | ||
|  |                         , T_1 | ||
|  |                         >::forward_(std::forward<T_1>( t1))); | ||
|  |         } | ||
|  | # endif | ||
|  |         BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED | ||
|  |         static type construct(typename detail::call_param<T0 >::type t0 , typename detail::call_param<T1 >::type t1 , typename detail::call_param<T2 >::type t2) | ||
|  |         { | ||
|  |             return type(t0, | ||
|  |                         deque_keyed_values_impl< | ||
|  |                         next_index | ||
|  |                         , T1 , T2 | ||
|  |                         >::construct(t1 , t2)); | ||
|  |         } | ||
|  | # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) | ||
|  |         template <typename T_0 , typename T_1 , typename T_2> | ||
|  |         BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED | ||
|  |         static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2) | ||
|  |         { | ||
|  |             return type(std::forward<T_0>( t0), | ||
|  |                         deque_keyed_values_impl< | ||
|  |                         next_index | ||
|  |                         , T_1 , T_2 | ||
|  |                         >::forward_(std::forward<T_1>( t1) , std::forward<T_2>( t2))); | ||
|  |         } | ||
|  | # endif | ||
|  |         BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED | ||
|  |         static type construct(typename detail::call_param<T0 >::type t0 , typename detail::call_param<T1 >::type t1 , typename detail::call_param<T2 >::type t2 , typename detail::call_param<T3 >::type t3) | ||
|  |         { | ||
|  |             return type(t0, | ||
|  |                         deque_keyed_values_impl< | ||
|  |                         next_index | ||
|  |                         , T1 , T2 , T3 | ||
|  |                         >::construct(t1 , t2 , t3)); | ||
|  |         } | ||
|  | # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) | ||
|  |         template <typename T_0 , typename T_1 , typename T_2 , typename T_3> | ||
|  |         BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED | ||
|  |         static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3) | ||
|  |         { | ||
|  |             return type(std::forward<T_0>( t0), | ||
|  |                         deque_keyed_values_impl< | ||
|  |                         next_index | ||
|  |                         , T_1 , T_2 , T_3 | ||
|  |                         >::forward_(std::forward<T_1>( t1) , std::forward<T_2>( t2) , std::forward<T_3>( t3))); | ||
|  |         } | ||
|  | # endif | ||
|  |         BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED | ||
|  |         static type construct(typename detail::call_param<T0 >::type t0 , typename detail::call_param<T1 >::type t1 , typename detail::call_param<T2 >::type t2 , typename detail::call_param<T3 >::type t3 , typename detail::call_param<T4 >::type t4) | ||
|  |         { | ||
|  |             return type(t0, | ||
|  |                         deque_keyed_values_impl< | ||
|  |                         next_index | ||
|  |                         , T1 , T2 , T3 , T4 | ||
|  |                         >::construct(t1 , t2 , t3 , t4)); | ||
|  |         } | ||
|  | # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) | ||
|  |         template <typename T_0 , typename T_1 , typename T_2 , typename T_3 , typename T_4> | ||
|  |         BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED | ||
|  |         static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4) | ||
|  |         { | ||
|  |             return type(std::forward<T_0>( t0), | ||
|  |                         deque_keyed_values_impl< | ||
|  |                         next_index | ||
|  |                         , T_1 , T_2 , T_3 , T_4 | ||
|  |                         >::forward_(std::forward<T_1>( t1) , std::forward<T_2>( t2) , std::forward<T_3>( t3) , std::forward<T_4>( t4))); | ||
|  |         } | ||
|  | # endif | ||
|  |         BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED | ||
|  |         static type construct(typename detail::call_param<T0 >::type t0 , typename detail::call_param<T1 >::type t1 , typename detail::call_param<T2 >::type t2 , typename detail::call_param<T3 >::type t3 , typename detail::call_param<T4 >::type t4 , typename detail::call_param<T5 >::type t5) | ||
|  |         { | ||
|  |             return type(t0, | ||
|  |                         deque_keyed_values_impl< | ||
|  |                         next_index | ||
|  |                         , T1 , T2 , T3 , T4 , T5 | ||
|  |                         >::construct(t1 , t2 , t3 , t4 , t5)); | ||
|  |         } | ||
|  | # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) | ||
|  |         template <typename T_0 , typename T_1 , typename T_2 , typename T_3 , typename T_4 , typename T_5> | ||
|  |         BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED | ||
|  |         static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5) | ||
|  |         { | ||
|  |             return type(std::forward<T_0>( t0), | ||
|  |                         deque_keyed_values_impl< | ||
|  |                         next_index | ||
|  |                         , T_1 , T_2 , T_3 , T_4 , T_5 | ||
|  |                         >::forward_(std::forward<T_1>( t1) , std::forward<T_2>( t2) , std::forward<T_3>( t3) , std::forward<T_4>( t4) , std::forward<T_5>( t5))); | ||
|  |         } | ||
|  | # endif | ||
|  |         BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED | ||
|  |         static type construct(typename detail::call_param<T0 >::type t0 , typename detail::call_param<T1 >::type t1 , typename detail::call_param<T2 >::type t2 , typename detail::call_param<T3 >::type t3 , typename detail::call_param<T4 >::type t4 , typename detail::call_param<T5 >::type t5 , typename detail::call_param<T6 >::type t6) | ||
|  |         { | ||
|  |             return type(t0, | ||
|  |                         deque_keyed_values_impl< | ||
|  |                         next_index | ||
|  |                         , T1 , T2 , T3 , T4 , T5 , T6 | ||
|  |                         >::construct(t1 , t2 , t3 , t4 , t5 , t6)); | ||
|  |         } | ||
|  | # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) | ||
|  |         template <typename T_0 , typename T_1 , typename T_2 , typename T_3 , typename T_4 , typename T_5 , typename T_6> | ||
|  |         BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED | ||
|  |         static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6) | ||
|  |         { | ||
|  |             return type(std::forward<T_0>( t0), | ||
|  |                         deque_keyed_values_impl< | ||
|  |                         next_index | ||
|  |                         , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 | ||
|  |                         >::forward_(std::forward<T_1>( t1) , std::forward<T_2>( t2) , std::forward<T_3>( t3) , std::forward<T_4>( t4) , std::forward<T_5>( t5) , std::forward<T_6>( t6))); | ||
|  |         } | ||
|  | # endif | ||
|  |         BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED | ||
|  |         static type construct(typename detail::call_param<T0 >::type t0 , typename detail::call_param<T1 >::type t1 , typename detail::call_param<T2 >::type t2 , typename detail::call_param<T3 >::type t3 , typename detail::call_param<T4 >::type t4 , typename detail::call_param<T5 >::type t5 , typename detail::call_param<T6 >::type t6 , typename detail::call_param<T7 >::type t7) | ||
|  |         { | ||
|  |             return type(t0, | ||
|  |                         deque_keyed_values_impl< | ||
|  |                         next_index | ||
|  |                         , T1 , T2 , T3 , T4 , T5 , T6 , T7 | ||
|  |                         >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7)); | ||
|  |         } | ||
|  | # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) | ||
|  |         template <typename T_0 , typename T_1 , typename T_2 , typename T_3 , typename T_4 , typename T_5 , typename T_6 , typename T_7> | ||
|  |         BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED | ||
|  |         static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7) | ||
|  |         { | ||
|  |             return type(std::forward<T_0>( t0), | ||
|  |                         deque_keyed_values_impl< | ||
|  |                         next_index | ||
|  |                         , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 | ||
|  |                         >::forward_(std::forward<T_1>( t1) , std::forward<T_2>( t2) , std::forward<T_3>( t3) , std::forward<T_4>( t4) , std::forward<T_5>( t5) , std::forward<T_6>( t6) , std::forward<T_7>( t7))); | ||
|  |         } | ||
|  | # endif | ||
|  |         BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED | ||
|  |         static type construct(typename detail::call_param<T0 >::type t0 , typename detail::call_param<T1 >::type t1 , typename detail::call_param<T2 >::type t2 , typename detail::call_param<T3 >::type t3 , typename detail::call_param<T4 >::type t4 , typename detail::call_param<T5 >::type t5 , typename detail::call_param<T6 >::type t6 , typename detail::call_param<T7 >::type t7 , typename detail::call_param<T8 >::type t8) | ||
|  |         { | ||
|  |             return type(t0, | ||
|  |                         deque_keyed_values_impl< | ||
|  |                         next_index | ||
|  |                         , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 | ||
|  |                         >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8)); | ||
|  |         } | ||
|  | # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) | ||
|  |         template <typename T_0 , typename T_1 , typename T_2 , typename T_3 , typename T_4 , typename T_5 , typename T_6 , typename T_7 , typename T_8> | ||
|  |         BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED | ||
|  |         static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8) | ||
|  |         { | ||
|  |             return type(std::forward<T_0>( t0), | ||
|  |                         deque_keyed_values_impl< | ||
|  |                         next_index | ||
|  |                         , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 | ||
|  |                         >::forward_(std::forward<T_1>( t1) , std::forward<T_2>( t2) , std::forward<T_3>( t3) , std::forward<T_4>( t4) , std::forward<T_5>( t5) , std::forward<T_6>( t6) , std::forward<T_7>( t7) , std::forward<T_8>( t8))); | ||
|  |         } | ||
|  | # endif | ||
|  |         BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED | ||
|  |         static type construct(typename detail::call_param<T0 >::type t0 , typename detail::call_param<T1 >::type t1 , typename detail::call_param<T2 >::type t2 , typename detail::call_param<T3 >::type t3 , typename detail::call_param<T4 >::type t4 , typename detail::call_param<T5 >::type t5 , typename detail::call_param<T6 >::type t6 , typename detail::call_param<T7 >::type t7 , typename detail::call_param<T8 >::type t8 , typename detail::call_param<T9 >::type t9) | ||
|  |         { | ||
|  |             return type(t0, | ||
|  |                         deque_keyed_values_impl< | ||
|  |                         next_index | ||
|  |                         , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 | ||
|  |                         >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9)); | ||
|  |         } | ||
|  | # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) | ||
|  |         template <typename T_0 , typename T_1 , typename T_2 , typename T_3 , typename T_4 , typename T_5 , typename T_6 , typename T_7 , typename T_8 , typename T_9> | ||
|  |         BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED | ||
|  |         static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9) | ||
|  |         { | ||
|  |             return type(std::forward<T_0>( t0), | ||
|  |                         deque_keyed_values_impl< | ||
|  |                         next_index | ||
|  |                         , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 | ||
|  |                         >::forward_(std::forward<T_1>( t1) , std::forward<T_2>( t2) , std::forward<T_3>( t3) , std::forward<T_4>( t4) , std::forward<T_5>( t5) , std::forward<T_6>( t6) , std::forward<T_7>( t7) , std::forward<T_8>( t8) , std::forward<T_9>( t9))); | ||
|  |         } | ||
|  | # endif | ||
|  |     }; | ||
|  |     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_> | ||
|  |     struct deque_keyed_values | ||
|  |         : deque_keyed_values_impl<mpl::int_<0>, T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9> | ||
|  |     {}; | ||
|  | }}} |