1 /*=============================================================================
2 Copyright (c) 2001-2011 Joel de Guzman
4 Distributed under the Boost Software License, Version 1.0. (See accompanying
5 file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
7 This is an auto-generated file. Do not edit!
8 ==============================================================================*/
9 namespace boost { namespace fusion { namespace detail
11 template<typename Key, typename Value, typename Rest>
13 struct nil_keyed_element;
14 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_>
15 struct deque_keyed_values_impl;
17 struct deque_keyed_values_impl<N, void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_>
19 typedef nil_keyed_element type;
20 BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
21 static type construct()
25 BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
26 static type forward_()
31 template<typename N, typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9>
32 struct deque_keyed_values_impl
34 typedef mpl::int_<mpl::plus<N, mpl::int_<1> >::value> next_index;
35 typedef typename deque_keyed_values_impl<
37 T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9>::type tail;
38 typedef keyed_element<N, T0, tail> type;
39 BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
40 static type construct(typename detail::call_param<T0 >::type t0)
43 deque_keyed_values_impl<
47 # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
48 template <typename T_0>
49 BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
50 static type forward_(T_0 && t0)
52 return type(std::forward<T_0>( t0),
53 deque_keyed_values_impl<
58 BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
59 static type construct(typename detail::call_param<T0 >::type t0 , typename detail::call_param<T1 >::type t1)
62 deque_keyed_values_impl<
67 # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
68 template <typename T_0 , typename T_1>
69 BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
70 static type forward_(T_0 && t0 , T_1 && t1)
72 return type(std::forward<T_0>( t0),
73 deque_keyed_values_impl<
76 >::forward_(std::forward<T_1>( t1)));
79 BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
80 static type construct(typename detail::call_param<T0 >::type t0 , typename detail::call_param<T1 >::type t1 , typename detail::call_param<T2 >::type t2)
83 deque_keyed_values_impl<
86 >::construct(t1 , t2));
88 # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
89 template <typename T_0 , typename T_1 , typename T_2>
90 BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
91 static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2)
93 return type(std::forward<T_0>( t0),
94 deque_keyed_values_impl<
97 >::forward_(std::forward<T_1>( t1) , std::forward<T_2>( t2)));
100 BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
101 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)
104 deque_keyed_values_impl<
107 >::construct(t1 , t2 , t3));
109 # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
110 template <typename T_0 , typename T_1 , typename T_2 , typename T_3>
111 BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
112 static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3)
114 return type(std::forward<T_0>( t0),
115 deque_keyed_values_impl<
118 >::forward_(std::forward<T_1>( t1) , std::forward<T_2>( t2) , std::forward<T_3>( t3)));
121 BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
122 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)
125 deque_keyed_values_impl<
128 >::construct(t1 , t2 , t3 , t4));
130 # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
131 template <typename T_0 , typename T_1 , typename T_2 , typename T_3 , typename T_4>
132 BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
133 static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4)
135 return type(std::forward<T_0>( t0),
136 deque_keyed_values_impl<
138 , T_1 , T_2 , T_3 , T_4
139 >::forward_(std::forward<T_1>( t1) , std::forward<T_2>( t2) , std::forward<T_3>( t3) , std::forward<T_4>( t4)));
142 BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
143 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)
146 deque_keyed_values_impl<
148 , T1 , T2 , T3 , T4 , T5
149 >::construct(t1 , t2 , t3 , t4 , t5));
151 # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
152 template <typename T_0 , typename T_1 , typename T_2 , typename T_3 , typename T_4 , typename T_5>
153 BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
154 static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5)
156 return type(std::forward<T_0>( t0),
157 deque_keyed_values_impl<
159 , T_1 , T_2 , T_3 , T_4 , T_5
160 >::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)));
163 BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
164 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)
167 deque_keyed_values_impl<
169 , T1 , T2 , T3 , T4 , T5 , T6
170 >::construct(t1 , t2 , t3 , t4 , t5 , t6));
172 # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
173 template <typename T_0 , typename T_1 , typename T_2 , typename T_3 , typename T_4 , typename T_5 , typename T_6>
174 BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
175 static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6)
177 return type(std::forward<T_0>( t0),
178 deque_keyed_values_impl<
180 , T_1 , T_2 , T_3 , T_4 , T_5 , T_6
181 >::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)));
184 BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
185 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)
188 deque_keyed_values_impl<
190 , T1 , T2 , T3 , T4 , T5 , T6 , T7
191 >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7));
193 # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
194 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>
195 BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
196 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)
198 return type(std::forward<T_0>( t0),
199 deque_keyed_values_impl<
201 , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7
202 >::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)));
205 BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
206 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)
209 deque_keyed_values_impl<
211 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8
212 >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8));
214 # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
215 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>
216 BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
217 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)
219 return type(std::forward<T_0>( t0),
220 deque_keyed_values_impl<
222 , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8
223 >::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)));
226 BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
227 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)
230 deque_keyed_values_impl<
232 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9
233 >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9));
235 # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
236 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>
237 BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
238 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)
240 return type(std::forward<T_0>( t0),
241 deque_keyed_values_impl<
243 , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9
244 >::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)));
248 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_>
249 struct deque_keyed_values
250 : deque_keyed_values_impl<mpl::int_<0>, T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9>