1 /*=============================================================================
2     Copyright (c) 2001-2011 Joel de Guzman
3     Copyright (c) 2006 Dan Marsden
4 
5     Distributed under the Boost Software License, Version 1.0. (See accompanying
6     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
7 
8     This is an auto-generated file. Do not edit!
9 ==============================================================================*/
10 namespace boost { namespace fusion
11 {
12     struct void_;
13     namespace result_of
14     {
15         template<typename T0 = fusion::void_ , typename T1 = fusion::void_ , typename T2 = fusion::void_ , typename T3 = fusion::void_ , typename T4 = fusion::void_ , typename T5 = fusion::void_ , typename T6 = fusion::void_ , typename T7 = fusion::void_ , typename T8 = fusion::void_ , typename T9 = fusion::void_ , typename T10 = fusion::void_>
16         struct zip;
17     }
18     namespace result_of
19     {
20         template< typename T0 , typename T1 >
21         struct zip< T0 , T1
22                     , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_
23         >
24         {
25             typedef mpl::vector< T0 , T1 > sequences;
26             typedef typename mpl::transform<sequences, add_reference<mpl::_> >::type ref_params;
27             typedef zip_view<typename result_of::as_vector<ref_params>::type> type;
28         };
29     }
30     template<typename T0 , typename T1>
31     BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
32     inline typename result_of::zip<const T0 , const T1>::type
zip(T0 const & t0,T1 const & t1)33     zip(T0 const& t0 , T1 const& t1)
34     {
35         fusion::vector<const T0& , const T1&> seqs(
36             t0 , t1);
37         return typename result_of::zip<const T0 , const T1>::type(
38             seqs);
39     }
40     namespace result_of
41     {
42         template< typename T0 , typename T1 , typename T2 >
43         struct zip< T0 , T1 , T2
44                     , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_
45         >
46         {
47             typedef mpl::vector< T0 , T1 , T2 > sequences;
48             typedef typename mpl::transform<sequences, add_reference<mpl::_> >::type ref_params;
49             typedef zip_view<typename result_of::as_vector<ref_params>::type> type;
50         };
51     }
52     template<typename T0 , typename T1 , typename T2>
53     BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
54     inline typename result_of::zip<const T0 , const T1 , const T2>::type
zip(T0 const & t0,T1 const & t1,T2 const & t2)55     zip(T0 const& t0 , T1 const& t1 , T2 const& t2)
56     {
57         fusion::vector<const T0& , const T1& , const T2&> seqs(
58             t0 , t1 , t2);
59         return typename result_of::zip<const T0 , const T1 , const T2>::type(
60             seqs);
61     }
62     namespace result_of
63     {
64         template< typename T0 , typename T1 , typename T2 , typename T3 >
65         struct zip< T0 , T1 , T2 , T3
66                     , void_ , void_ , void_ , void_ , void_ , void_ , void_
67         >
68         {
69             typedef mpl::vector< T0 , T1 , T2 , T3 > sequences;
70             typedef typename mpl::transform<sequences, add_reference<mpl::_> >::type ref_params;
71             typedef zip_view<typename result_of::as_vector<ref_params>::type> type;
72         };
73     }
74     template<typename T0 , typename T1 , typename T2 , typename T3>
75     BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
76     inline typename result_of::zip<const T0 , const T1 , const T2 , const T3>::type
zip(T0 const & t0,T1 const & t1,T2 const & t2,T3 const & t3)77     zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3)
78     {
79         fusion::vector<const T0& , const T1& , const T2& , const T3&> seqs(
80             t0 , t1 , t2 , t3);
81         return typename result_of::zip<const T0 , const T1 , const T2 , const T3>::type(
82             seqs);
83     }
84     namespace result_of
85     {
86         template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 >
87         struct zip< T0 , T1 , T2 , T3 , T4
88                     , void_ , void_ , void_ , void_ , void_ , void_
89         >
90         {
91             typedef mpl::vector< T0 , T1 , T2 , T3 , T4 > sequences;
92             typedef typename mpl::transform<sequences, add_reference<mpl::_> >::type ref_params;
93             typedef zip_view<typename result_of::as_vector<ref_params>::type> type;
94         };
95     }
96     template<typename T0 , typename T1 , typename T2 , typename T3 , typename T4>
97     BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
98     inline typename result_of::zip<const T0 , const T1 , const T2 , const T3 , const T4>::type
zip(T0 const & t0,T1 const & t1,T2 const & t2,T3 const & t3,T4 const & t4)99     zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4)
100     {
101         fusion::vector<const T0& , const T1& , const T2& , const T3& , const T4&> seqs(
102             t0 , t1 , t2 , t3 , t4);
103         return typename result_of::zip<const T0 , const T1 , const T2 , const T3 , const T4>::type(
104             seqs);
105     }
106     namespace result_of
107     {
108         template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 >
109         struct zip< T0 , T1 , T2 , T3 , T4 , T5
110                     , void_ , void_ , void_ , void_ , void_
111         >
112         {
113             typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 > sequences;
114             typedef typename mpl::transform<sequences, add_reference<mpl::_> >::type ref_params;
115             typedef zip_view<typename result_of::as_vector<ref_params>::type> type;
116         };
117     }
118     template<typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5>
119     BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
120     inline typename result_of::zip<const T0 , const T1 , const T2 , const T3 , const T4 , const T5>::type
zip(T0 const & t0,T1 const & t1,T2 const & t2,T3 const & t3,T4 const & t4,T5 const & t5)121     zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5)
122     {
123         fusion::vector<const T0& , const T1& , const T2& , const T3& , const T4& , const T5&> seqs(
124             t0 , t1 , t2 , t3 , t4 , t5);
125         return typename result_of::zip<const T0 , const T1 , const T2 , const T3 , const T4 , const T5>::type(
126             seqs);
127     }
128     namespace result_of
129     {
130         template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 >
131         struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6
132                     , void_ , void_ , void_ , void_
133         >
134         {
135             typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 > sequences;
136             typedef typename mpl::transform<sequences, add_reference<mpl::_> >::type ref_params;
137             typedef zip_view<typename result_of::as_vector<ref_params>::type> type;
138         };
139     }
140     template<typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6>
141     BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
142     inline typename result_of::zip<const T0 , const T1 , const T2 , const T3 , const T4 , const T5 , const T6>::type
zip(T0 const & t0,T1 const & t1,T2 const & t2,T3 const & t3,T4 const & t4,T5 const & t5,T6 const & t6)143     zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6)
144     {
145         fusion::vector<const T0& , const T1& , const T2& , const T3& , const T4& , const T5& , const T6&> seqs(
146             t0 , t1 , t2 , t3 , t4 , t5 , t6);
147         return typename result_of::zip<const T0 , const T1 , const T2 , const T3 , const T4 , const T5 , const T6>::type(
148             seqs);
149     }
150     namespace result_of
151     {
152         template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 >
153         struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7
154                     , void_ , void_ , void_
155         >
156         {
157             typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 > sequences;
158             typedef typename mpl::transform<sequences, add_reference<mpl::_> >::type ref_params;
159             typedef zip_view<typename result_of::as_vector<ref_params>::type> type;
160         };
161     }
162     template<typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7>
163     BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
164     inline typename result_of::zip<const T0 , const T1 , const T2 , const T3 , const T4 , const T5 , const T6 , const T7>::type
zip(T0 const & t0,T1 const & t1,T2 const & t2,T3 const & t3,T4 const & t4,T5 const & t5,T6 const & t6,T7 const & t7)165     zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7)
166     {
167         fusion::vector<const T0& , const T1& , const T2& , const T3& , const T4& , const T5& , const T6& , const T7&> seqs(
168             t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7);
169         return typename result_of::zip<const T0 , const T1 , const T2 , const T3 , const T4 , const T5 , const T6 , const T7>::type(
170             seqs);
171     }
172     namespace result_of
173     {
174         template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 >
175         struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8
176                     , void_ , void_
177         >
178         {
179             typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 > sequences;
180             typedef typename mpl::transform<sequences, add_reference<mpl::_> >::type ref_params;
181             typedef zip_view<typename result_of::as_vector<ref_params>::type> type;
182         };
183     }
184     template<typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8>
185     BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
186     inline typename result_of::zip<const T0 , const T1 , const T2 , const T3 , const T4 , const T5 , const T6 , const T7 , const T8>::type
zip(T0 const & t0,T1 const & t1,T2 const & t2,T3 const & t3,T4 const & t4,T5 const & t5,T6 const & t6,T7 const & t7,T8 const & t8)187     zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8)
188     {
189         fusion::vector<const T0& , const T1& , const T2& , const T3& , const T4& , const T5& , const T6& , const T7& , const T8&> seqs(
190             t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8);
191         return typename result_of::zip<const T0 , const T1 , const T2 , const T3 , const T4 , const T5 , const T6 , const T7 , const T8>::type(
192             seqs);
193     }
194     namespace result_of
195     {
196         template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 >
197         struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9
198                     , void_
199         >
200         {
201             typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 > sequences;
202             typedef typename mpl::transform<sequences, add_reference<mpl::_> >::type ref_params;
203             typedef zip_view<typename result_of::as_vector<ref_params>::type> type;
204         };
205     }
206     template<typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9>
207     BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
208     inline typename result_of::zip<const T0 , const T1 , const T2 , const T3 , const T4 , const T5 , const T6 , const T7 , const T8 , const T9>::type
zip(T0 const & t0,T1 const & t1,T2 const & t2,T3 const & t3,T4 const & t4,T5 const & t5,T6 const & t6,T7 const & t7,T8 const & t8,T9 const & t9)209     zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9)
210     {
211         fusion::vector<const T0& , const T1& , const T2& , const T3& , const T4& , const T5& , const T6& , const T7& , const T8& , const T9&> seqs(
212             t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9);
213         return typename result_of::zip<const T0 , const T1 , const T2 , const T3 , const T4 , const T5 , const T6 , const T7 , const T8 , const T9>::type(
214             seqs);
215     }
216 }}
217