1 /*=============================================================================
2     Copyright (c) 2001-2011 Joel de Guzman
3 
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)
6 
7     This is an auto-generated file. Do not edit!
8 ==============================================================================*/
9 namespace boost { namespace fusion
10 {
11     struct void_;
12     namespace result_of
13     {
14         template <
15             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 T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_
16           , typename Extra = void_
17         >
18         struct deque_tie;
19     }
20     namespace result_of
21     {
22         template <typename T0>
23         struct deque_tie< T0 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ >
24         {
25             typedef deque<T0&> type;
26         };
27     }
28     template <typename T0>
29     BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
30     inline deque<T0&>
deque_tie(T0 & arg0)31     deque_tie(T0 & arg0)
32     {
33         return deque<T0&>(
34             arg0);
35     }
36     namespace result_of
37     {
38         template <typename T0 , typename T1>
39         struct deque_tie< T0 , T1 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ >
40         {
41             typedef deque<T0& , T1&> type;
42         };
43     }
44     template <typename T0 , typename T1>
45     BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
46     inline deque<T0& , T1&>
deque_tie(T0 & arg0,T1 & arg1)47     deque_tie(T0 & arg0 , T1 & arg1)
48     {
49         return deque<T0& , T1&>(
50             arg0 , arg1);
51     }
52     namespace result_of
53     {
54         template <typename T0 , typename T1 , typename T2>
55         struct deque_tie< T0 , T1 , T2 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ >
56         {
57             typedef deque<T0& , T1& , T2&> type;
58         };
59     }
60     template <typename T0 , typename T1 , typename T2>
61     BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
62     inline deque<T0& , T1& , T2&>
deque_tie(T0 & arg0,T1 & arg1,T2 & arg2)63     deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2)
64     {
65         return deque<T0& , T1& , T2&>(
66             arg0 , arg1 , arg2);
67     }
68     namespace result_of
69     {
70         template <typename T0 , typename T1 , typename T2 , typename T3>
71         struct deque_tie< T0 , T1 , T2 , T3 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ >
72         {
73             typedef deque<T0& , T1& , T2& , T3&> type;
74         };
75     }
76     template <typename T0 , typename T1 , typename T2 , typename T3>
77     BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
78     inline deque<T0& , T1& , T2& , T3&>
deque_tie(T0 & arg0,T1 & arg1,T2 & arg2,T3 & arg3)79     deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3)
80     {
81         return deque<T0& , T1& , T2& , T3&>(
82             arg0 , arg1 , arg2 , arg3);
83     }
84     namespace result_of
85     {
86         template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4>
87         struct deque_tie< T0 , T1 , T2 , T3 , T4 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ >
88         {
89             typedef deque<T0& , T1& , T2& , T3& , T4&> type;
90         };
91     }
92     template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4>
93     BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
94     inline deque<T0& , T1& , T2& , T3& , T4&>
deque_tie(T0 & arg0,T1 & arg1,T2 & arg2,T3 & arg3,T4 & arg4)95     deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4)
96     {
97         return deque<T0& , T1& , T2& , T3& , T4&>(
98             arg0 , arg1 , arg2 , arg3 , arg4);
99     }
100     namespace result_of
101     {
102         template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5>
103         struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ >
104         {
105             typedef deque<T0& , T1& , T2& , T3& , T4& , T5&> type;
106         };
107     }
108     template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5>
109     BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
110     inline deque<T0& , T1& , T2& , T3& , T4& , T5&>
deque_tie(T0 & arg0,T1 & arg1,T2 & arg2,T3 & arg3,T4 & arg4,T5 & arg5)111     deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5)
112     {
113         return deque<T0& , T1& , T2& , T3& , T4& , T5&>(
114             arg0 , arg1 , arg2 , arg3 , arg4 , arg5);
115     }
116     namespace result_of
117     {
118         template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6>
119         struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ >
120         {
121             typedef deque<T0& , T1& , T2& , T3& , T4& , T5& , T6&> type;
122         };
123     }
124     template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6>
125     BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
126     inline deque<T0& , T1& , T2& , T3& , T4& , T5& , T6&>
deque_tie(T0 & arg0,T1 & arg1,T2 & arg2,T3 & arg3,T4 & arg4,T5 & arg5,T6 & arg6)127     deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6)
128     {
129         return deque<T0& , T1& , T2& , T3& , T4& , T5& , T6&>(
130             arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6);
131     }
132     namespace result_of
133     {
134         template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7>
135         struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ >
136         {
137             typedef deque<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7&> type;
138         };
139     }
140     template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7>
141     BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
142     inline deque<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7&>
deque_tie(T0 & arg0,T1 & arg1,T2 & arg2,T3 & arg3,T4 & arg4,T5 & arg5,T6 & arg6,T7 & arg7)143     deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7)
144     {
145         return deque<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7&>(
146             arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7);
147     }
148     namespace result_of
149     {
150         template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8>
151         struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ >
152         {
153             typedef deque<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8&> type;
154         };
155     }
156     template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8>
157     BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
158     inline deque<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8&>
deque_tie(T0 & arg0,T1 & arg1,T2 & arg2,T3 & arg3,T4 & arg4,T5 & arg5,T6 & arg6,T7 & arg7,T8 & arg8)159     deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8)
160     {
161         return deque<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8&>(
162             arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8);
163     }
164     namespace result_of
165     {
166         template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9>
167         struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ >
168         {
169             typedef deque<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9&> type;
170         };
171     }
172     template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9>
173     BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
174     inline deque<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9&>
deque_tie(T0 & arg0,T1 & arg1,T2 & arg2,T3 & arg3,T4 & arg4,T5 & arg5,T6 & arg6,T7 & arg7,T8 & arg8,T9 & arg9)175     deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9)
176     {
177         return deque<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9&>(
178             arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9);
179     }
180     namespace result_of
181     {
182         template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10>
183         struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ >
184         {
185             typedef deque<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9& , T10&> type;
186         };
187     }
188     template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10>
189     BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
190     inline deque<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9& , T10&>
deque_tie(T0 & arg0,T1 & arg1,T2 & arg2,T3 & arg3,T4 & arg4,T5 & arg5,T6 & arg6,T7 & arg7,T8 & arg8,T9 & arg9,T10 & arg10)191     deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10)
192     {
193         return deque<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9& , T10&>(
194             arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10);
195     }
196     namespace result_of
197     {
198         template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11>
199         struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ >
200         {
201             typedef deque<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9& , T10& , T11&> type;
202         };
203     }
204     template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11>
205     BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
206     inline deque<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9& , T10& , T11&>
deque_tie(T0 & arg0,T1 & arg1,T2 & arg2,T3 & arg3,T4 & arg4,T5 & arg5,T6 & arg6,T7 & arg7,T8 & arg8,T9 & arg9,T10 & arg10,T11 & arg11)207     deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11)
208     {
209         return deque<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9& , T10& , T11&>(
210             arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11);
211     }
212     namespace result_of
213     {
214         template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12>
215         struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ >
216         {
217             typedef deque<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9& , T10& , T11& , T12&> type;
218         };
219     }
220     template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12>
221     BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
222     inline deque<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9& , T10& , T11& , T12&>
deque_tie(T0 & arg0,T1 & arg1,T2 & arg2,T3 & arg3,T4 & arg4,T5 & arg5,T6 & arg6,T7 & arg7,T8 & arg8,T9 & arg9,T10 & arg10,T11 & arg11,T12 & arg12)223     deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12)
224     {
225         return deque<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9& , T10& , T11& , T12&>(
226             arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12);
227     }
228     namespace result_of
229     {
230         template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13>
231         struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , void_ , void_ , void_ , void_ , void_ , void_ , void_ >
232         {
233             typedef deque<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9& , T10& , T11& , T12& , T13&> type;
234         };
235     }
236     template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13>
237     BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
238     inline deque<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9& , T10& , T11& , T12& , T13&>
deque_tie(T0 & arg0,T1 & arg1,T2 & arg2,T3 & arg3,T4 & arg4,T5 & arg5,T6 & arg6,T7 & arg7,T8 & arg8,T9 & arg9,T10 & arg10,T11 & arg11,T12 & arg12,T13 & arg13)239     deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13)
240     {
241         return deque<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9& , T10& , T11& , T12& , T13&>(
242             arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13);
243     }
244     namespace result_of
245     {
246         template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14>
247         struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , void_ , void_ , void_ , void_ , void_ , void_ >
248         {
249             typedef deque<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9& , T10& , T11& , T12& , T13& , T14&> type;
250         };
251     }
252     template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14>
253     BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
254     inline deque<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9& , T10& , T11& , T12& , T13& , T14&>
deque_tie(T0 & arg0,T1 & arg1,T2 & arg2,T3 & arg3,T4 & arg4,T5 & arg5,T6 & arg6,T7 & arg7,T8 & arg8,T9 & arg9,T10 & arg10,T11 & arg11,T12 & arg12,T13 & arg13,T14 & arg14)255     deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14)
256     {
257         return deque<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9& , T10& , T11& , T12& , T13& , T14&>(
258             arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14);
259     }
260     namespace result_of
261     {
262         template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15>
263         struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , void_ , void_ , void_ , void_ , void_ >
264         {
265             typedef deque<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9& , T10& , T11& , T12& , T13& , T14& , T15&> type;
266         };
267     }
268     template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15>
269     BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
270     inline deque<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9& , T10& , T11& , T12& , T13& , T14& , T15&>
deque_tie(T0 & arg0,T1 & arg1,T2 & arg2,T3 & arg3,T4 & arg4,T5 & arg5,T6 & arg6,T7 & arg7,T8 & arg8,T9 & arg9,T10 & arg10,T11 & arg11,T12 & arg12,T13 & arg13,T14 & arg14,T15 & arg15)271     deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15)
272     {
273         return deque<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9& , T10& , T11& , T12& , T13& , T14& , T15&>(
274             arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15);
275     }
276     namespace result_of
277     {
278         template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16>
279         struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , void_ , void_ , void_ , void_ >
280         {
281             typedef deque<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9& , T10& , T11& , T12& , T13& , T14& , T15& , T16&> type;
282         };
283     }
284     template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16>
285     BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
286     inline deque<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9& , T10& , T11& , T12& , T13& , T14& , T15& , T16&>
deque_tie(T0 & arg0,T1 & arg1,T2 & arg2,T3 & arg3,T4 & arg4,T5 & arg5,T6 & arg6,T7 & arg7,T8 & arg8,T9 & arg9,T10 & arg10,T11 & arg11,T12 & arg12,T13 & arg13,T14 & arg14,T15 & arg15,T16 & arg16)287     deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16)
288     {
289         return deque<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9& , T10& , T11& , T12& , T13& , T14& , T15& , T16&>(
290             arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16);
291     }
292     namespace result_of
293     {
294         template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17>
295         struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , void_ , void_ , void_ >
296         {
297             typedef deque<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9& , T10& , T11& , T12& , T13& , T14& , T15& , T16& , T17&> type;
298         };
299     }
300     template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17>
301     BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
302     inline deque<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9& , T10& , T11& , T12& , T13& , T14& , T15& , T16& , T17&>
deque_tie(T0 & arg0,T1 & arg1,T2 & arg2,T3 & arg3,T4 & arg4,T5 & arg5,T6 & arg6,T7 & arg7,T8 & arg8,T9 & arg9,T10 & arg10,T11 & arg11,T12 & arg12,T13 & arg13,T14 & arg14,T15 & arg15,T16 & arg16,T17 & arg17)303     deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17)
304     {
305         return deque<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9& , T10& , T11& , T12& , T13& , T14& , T15& , T16& , T17&>(
306             arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17);
307     }
308     namespace result_of
309     {
310         template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18>
311         struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , void_ , void_ >
312         {
313             typedef deque<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9& , T10& , T11& , T12& , T13& , T14& , T15& , T16& , T17& , T18&> type;
314         };
315     }
316     template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18>
317     BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
318     inline deque<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9& , T10& , T11& , T12& , T13& , T14& , T15& , T16& , T17& , T18&>
deque_tie(T0 & arg0,T1 & arg1,T2 & arg2,T3 & arg3,T4 & arg4,T5 & arg5,T6 & arg6,T7 & arg7,T8 & arg8,T9 & arg9,T10 & arg10,T11 & arg11,T12 & arg12,T13 & arg13,T14 & arg14,T15 & arg15,T16 & arg16,T17 & arg17,T18 & arg18)319     deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18)
320     {
321         return deque<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9& , T10& , T11& , T12& , T13& , T14& , T15& , T16& , T17& , T18&>(
322             arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18);
323     }
324     namespace result_of
325     {
326         template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19>
327         struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , void_ >
328         {
329             typedef deque<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9& , T10& , T11& , T12& , T13& , T14& , T15& , T16& , T17& , T18& , T19&> type;
330         };
331     }
332     template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19>
333     BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
334     inline deque<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9& , T10& , T11& , T12& , T13& , T14& , T15& , T16& , T17& , T18& , T19&>
deque_tie(T0 & arg0,T1 & arg1,T2 & arg2,T3 & arg3,T4 & arg4,T5 & arg5,T6 & arg6,T7 & arg7,T8 & arg8,T9 & arg9,T10 & arg10,T11 & arg11,T12 & arg12,T13 & arg13,T14 & arg14,T15 & arg15,T16 & arg16,T17 & arg17,T18 & arg18,T19 & arg19)335     deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19)
336     {
337         return deque<T0& , T1& , T2& , T3& , T4& , T5& , T6& , T7& , T8& , T9& , T10& , T11& , T12& , T13& , T14& , T15& , T16& , T17& , T18& , T19&>(
338             arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19);
339     }
340 }}
341