1 /*=============================================================================
2 Copyright (c) 2001-2011 Joel de Guzman
3 Copyright (c) 2006 Dan Marsden
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)
8 This is an auto-generated file. Do not edit!
9 ==============================================================================*/
10 namespace boost { namespace fusion
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_>
20 template< typename T0 , typename T1 >
23 typedef mpl::vector< T0 , T1 > sequences;
24 typedef typename mpl::transform<sequences, add_reference<mpl::_> >::type ref_params;
25 typedef zip_view<typename result_of::as_vector<ref_params>::type> type;
28 template<typename T0 , typename T1>
29 inline typename result_of::zip<const T0 , const T1>::type
30 zip(T0 const& t0 , T1 const& t1)
32 fusion::vector<const T0& , const T1&> seqs(
34 return typename result_of::zip<const T0 , const T1>::type(
39 template< typename T0 , typename T1 , typename T2 >
40 struct zip< T0 , T1 , T2 >
42 typedef mpl::vector< T0 , T1 , T2 > sequences;
43 typedef typename mpl::transform<sequences, add_reference<mpl::_> >::type ref_params;
44 typedef zip_view<typename result_of::as_vector<ref_params>::type> type;
47 template<typename T0 , typename T1 , typename T2>
48 inline typename result_of::zip<const T0 , const T1 , const T2>::type
49 zip(T0 const& t0 , T1 const& t1 , T2 const& t2)
51 fusion::vector<const T0& , const T1& , const T2&> seqs(
53 return typename result_of::zip<const T0 , const T1 , const T2>::type(
58 template< typename T0 , typename T1 , typename T2 , typename T3 >
59 struct zip< T0 , T1 , T2 , T3 >
61 typedef mpl::vector< T0 , T1 , T2 , T3 > sequences;
62 typedef typename mpl::transform<sequences, add_reference<mpl::_> >::type ref_params;
63 typedef zip_view<typename result_of::as_vector<ref_params>::type> type;
66 template<typename T0 , typename T1 , typename T2 , typename T3>
67 inline typename result_of::zip<const T0 , const T1 , const T2 , const T3>::type
68 zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3)
70 fusion::vector<const T0& , const T1& , const T2& , const T3&> seqs(
72 return typename result_of::zip<const T0 , const T1 , const T2 , const T3>::type(
77 template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 >
78 struct zip< T0 , T1 , T2 , T3 , T4 >
80 typedef mpl::vector< T0 , T1 , T2 , T3 , T4 > sequences;
81 typedef typename mpl::transform<sequences, add_reference<mpl::_> >::type ref_params;
82 typedef zip_view<typename result_of::as_vector<ref_params>::type> type;
85 template<typename T0 , typename T1 , typename T2 , typename T3 , typename T4>
86 inline typename result_of::zip<const T0 , const T1 , const T2 , const T3 , const T4>::type
87 zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4)
89 fusion::vector<const T0& , const T1& , const T2& , const T3& , const T4&> seqs(
90 t0 , t1 , t2 , t3 , t4);
91 return typename result_of::zip<const T0 , const T1 , const T2 , const T3 , const T4>::type(
96 template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 >
97 struct zip< T0 , T1 , T2 , T3 , T4 , T5 >
99 typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 > sequences;
100 typedef typename mpl::transform<sequences, add_reference<mpl::_> >::type ref_params;
101 typedef zip_view<typename result_of::as_vector<ref_params>::type> type;
104 template<typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5>
105 inline typename result_of::zip<const T0 , const T1 , const T2 , const T3 , const T4 , const T5>::type
106 zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5)
108 fusion::vector<const T0& , const T1& , const T2& , const T3& , const T4& , const T5&> seqs(
109 t0 , t1 , t2 , t3 , t4 , t5);
110 return typename result_of::zip<const T0 , const T1 , const T2 , const T3 , const T4 , const T5>::type(
115 template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 >
116 struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 >
118 typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 > sequences;
119 typedef typename mpl::transform<sequences, add_reference<mpl::_> >::type ref_params;
120 typedef zip_view<typename result_of::as_vector<ref_params>::type> type;
123 template<typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6>
124 inline typename result_of::zip<const T0 , const T1 , const T2 , const T3 , const T4 , const T5 , const T6>::type
125 zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6)
127 fusion::vector<const T0& , const T1& , const T2& , const T3& , const T4& , const T5& , const T6&> seqs(
128 t0 , t1 , t2 , t3 , t4 , t5 , t6);
129 return typename result_of::zip<const T0 , const T1 , const T2 , const T3 , const T4 , const T5 , const T6>::type(
134 template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 >
135 struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 >
137 typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 > sequences;
138 typedef typename mpl::transform<sequences, add_reference<mpl::_> >::type ref_params;
139 typedef zip_view<typename result_of::as_vector<ref_params>::type> type;
142 template<typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7>
143 inline typename result_of::zip<const T0 , const T1 , const T2 , const T3 , const T4 , const T5 , const T6 , const T7>::type
144 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)
146 fusion::vector<const T0& , const T1& , const T2& , const T3& , const T4& , const T5& , const T6& , const T7&> seqs(
147 t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7);
148 return typename result_of::zip<const T0 , const T1 , const T2 , const T3 , const T4 , const T5 , const T6 , const T7>::type(
153 template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 >
154 struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 >
156 typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 > sequences;
157 typedef typename mpl::transform<sequences, add_reference<mpl::_> >::type ref_params;
158 typedef zip_view<typename result_of::as_vector<ref_params>::type> type;
161 template<typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8>
162 inline typename result_of::zip<const T0 , const T1 , const T2 , const T3 , const T4 , const T5 , const T6 , const T7 , const T8>::type
163 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)
165 fusion::vector<const T0& , const T1& , const T2& , const T3& , const T4& , const T5& , const T6& , const T7& , const T8&> seqs(
166 t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8);
167 return typename result_of::zip<const T0 , const T1 , const T2 , const T3 , const T4 , const T5 , const T6 , const T7 , const T8>::type(
172 template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 >
173 struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 >
175 typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 > sequences;
176 typedef typename mpl::transform<sequences, add_reference<mpl::_> >::type ref_params;
177 typedef zip_view<typename result_of::as_vector<ref_params>::type> type;
180 template<typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9>
181 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
182 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)
184 fusion::vector<const T0& , const T1& , const T2& , const T3& , const T4& , const T5& , const T6& , const T7& , const T8& , const T9&> seqs(
185 t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9);
186 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(