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 BOOST_FUSION_BARRIER_BEGIN
12 template <bool is_assoc>
13 struct as_map<1, is_assoc>
15 template <typename I0>
19 typedef pair_from<I0, is_assoc> D0; typedef typename D0::type T0;
22 template <typename Iterator>
23 BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
24 static typename apply<Iterator>::type
25 call(Iterator const& i0)
27 typedef apply<Iterator> gen;
28 typedef typename gen::type result;
30 return result(gen::D0::call(i0));
33 template <bool is_assoc>
34 struct as_map<2, is_assoc>
36 template <typename I0>
39 typedef typename fusion::result_of::next<I0>::type I1;
40 typedef pair_from<I0, is_assoc> D0; typedef typename D0::type T0; typedef pair_from<I1, is_assoc> D1; typedef typename D1::type T1;
41 typedef map<T0 , T1> type;
43 template <typename Iterator>
44 BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
45 static typename apply<Iterator>::type
46 call(Iterator const& i0)
48 typedef apply<Iterator> gen;
49 typedef typename gen::type result;
50 typename gen::I1 i1 = fusion::next(i0);
51 return result(gen::D0::call(i0) , gen::D1::call(i1));
54 template <bool is_assoc>
55 struct as_map<3, is_assoc>
57 template <typename I0>
60 typedef typename fusion::result_of::next<I0>::type I1; typedef typename fusion::result_of::next<I1>::type I2;
61 typedef pair_from<I0, is_assoc> D0; typedef typename D0::type T0; typedef pair_from<I1, is_assoc> D1; typedef typename D1::type T1; typedef pair_from<I2, is_assoc> D2; typedef typename D2::type T2;
62 typedef map<T0 , T1 , T2> type;
64 template <typename Iterator>
65 BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
66 static typename apply<Iterator>::type
67 call(Iterator const& i0)
69 typedef apply<Iterator> gen;
70 typedef typename gen::type result;
71 typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1);
72 return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2));
75 template <bool is_assoc>
76 struct as_map<4, is_assoc>
78 template <typename I0>
81 typedef typename fusion::result_of::next<I0>::type I1; typedef typename fusion::result_of::next<I1>::type I2; typedef typename fusion::result_of::next<I2>::type I3;
82 typedef pair_from<I0, is_assoc> D0; typedef typename D0::type T0; typedef pair_from<I1, is_assoc> D1; typedef typename D1::type T1; typedef pair_from<I2, is_assoc> D2; typedef typename D2::type T2; typedef pair_from<I3, is_assoc> D3; typedef typename D3::type T3;
83 typedef map<T0 , T1 , T2 , T3> type;
85 template <typename Iterator>
86 BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
87 static typename apply<Iterator>::type
88 call(Iterator const& i0)
90 typedef apply<Iterator> gen;
91 typedef typename gen::type result;
92 typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2);
93 return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3));
96 template <bool is_assoc>
97 struct as_map<5, is_assoc>
99 template <typename I0>
102 typedef typename fusion::result_of::next<I0>::type I1; typedef typename fusion::result_of::next<I1>::type I2; typedef typename fusion::result_of::next<I2>::type I3; typedef typename fusion::result_of::next<I3>::type I4;
103 typedef pair_from<I0, is_assoc> D0; typedef typename D0::type T0; typedef pair_from<I1, is_assoc> D1; typedef typename D1::type T1; typedef pair_from<I2, is_assoc> D2; typedef typename D2::type T2; typedef pair_from<I3, is_assoc> D3; typedef typename D3::type T3; typedef pair_from<I4, is_assoc> D4; typedef typename D4::type T4;
104 typedef map<T0 , T1 , T2 , T3 , T4> type;
106 template <typename Iterator>
107 BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
108 static typename apply<Iterator>::type
109 call(Iterator const& i0)
111 typedef apply<Iterator> gen;
112 typedef typename gen::type result;
113 typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3);
114 return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4));
117 template <bool is_assoc>
118 struct as_map<6, is_assoc>
120 template <typename I0>
123 typedef typename fusion::result_of::next<I0>::type I1; typedef typename fusion::result_of::next<I1>::type I2; typedef typename fusion::result_of::next<I2>::type I3; typedef typename fusion::result_of::next<I3>::type I4; typedef typename fusion::result_of::next<I4>::type I5;
124 typedef pair_from<I0, is_assoc> D0; typedef typename D0::type T0; typedef pair_from<I1, is_assoc> D1; typedef typename D1::type T1; typedef pair_from<I2, is_assoc> D2; typedef typename D2::type T2; typedef pair_from<I3, is_assoc> D3; typedef typename D3::type T3; typedef pair_from<I4, is_assoc> D4; typedef typename D4::type T4; typedef pair_from<I5, is_assoc> D5; typedef typename D5::type T5;
125 typedef map<T0 , T1 , T2 , T3 , T4 , T5> type;
127 template <typename Iterator>
128 BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
129 static typename apply<Iterator>::type
130 call(Iterator const& i0)
132 typedef apply<Iterator> gen;
133 typedef typename gen::type result;
134 typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4);
135 return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5));
138 template <bool is_assoc>
139 struct as_map<7, is_assoc>
141 template <typename I0>
144 typedef typename fusion::result_of::next<I0>::type I1; typedef typename fusion::result_of::next<I1>::type I2; typedef typename fusion::result_of::next<I2>::type I3; typedef typename fusion::result_of::next<I3>::type I4; typedef typename fusion::result_of::next<I4>::type I5; typedef typename fusion::result_of::next<I5>::type I6;
145 typedef pair_from<I0, is_assoc> D0; typedef typename D0::type T0; typedef pair_from<I1, is_assoc> D1; typedef typename D1::type T1; typedef pair_from<I2, is_assoc> D2; typedef typename D2::type T2; typedef pair_from<I3, is_assoc> D3; typedef typename D3::type T3; typedef pair_from<I4, is_assoc> D4; typedef typename D4::type T4; typedef pair_from<I5, is_assoc> D5; typedef typename D5::type T5; typedef pair_from<I6, is_assoc> D6; typedef typename D6::type T6;
146 typedef map<T0 , T1 , T2 , T3 , T4 , T5 , T6> type;
148 template <typename Iterator>
149 BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
150 static typename apply<Iterator>::type
151 call(Iterator const& i0)
153 typedef apply<Iterator> gen;
154 typedef typename gen::type result;
155 typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5);
156 return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6));
159 template <bool is_assoc>
160 struct as_map<8, is_assoc>
162 template <typename I0>
165 typedef typename fusion::result_of::next<I0>::type I1; typedef typename fusion::result_of::next<I1>::type I2; typedef typename fusion::result_of::next<I2>::type I3; typedef typename fusion::result_of::next<I3>::type I4; typedef typename fusion::result_of::next<I4>::type I5; typedef typename fusion::result_of::next<I5>::type I6; typedef typename fusion::result_of::next<I6>::type I7;
166 typedef pair_from<I0, is_assoc> D0; typedef typename D0::type T0; typedef pair_from<I1, is_assoc> D1; typedef typename D1::type T1; typedef pair_from<I2, is_assoc> D2; typedef typename D2::type T2; typedef pair_from<I3, is_assoc> D3; typedef typename D3::type T3; typedef pair_from<I4, is_assoc> D4; typedef typename D4::type T4; typedef pair_from<I5, is_assoc> D5; typedef typename D5::type T5; typedef pair_from<I6, is_assoc> D6; typedef typename D6::type T6; typedef pair_from<I7, is_assoc> D7; typedef typename D7::type T7;
167 typedef map<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7> type;
169 template <typename Iterator>
170 BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
171 static typename apply<Iterator>::type
172 call(Iterator const& i0)
174 typedef apply<Iterator> gen;
175 typedef typename gen::type result;
176 typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6);
177 return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7));
180 template <bool is_assoc>
181 struct as_map<9, is_assoc>
183 template <typename I0>
186 typedef typename fusion::result_of::next<I0>::type I1; typedef typename fusion::result_of::next<I1>::type I2; typedef typename fusion::result_of::next<I2>::type I3; typedef typename fusion::result_of::next<I3>::type I4; typedef typename fusion::result_of::next<I4>::type I5; typedef typename fusion::result_of::next<I5>::type I6; typedef typename fusion::result_of::next<I6>::type I7; typedef typename fusion::result_of::next<I7>::type I8;
187 typedef pair_from<I0, is_assoc> D0; typedef typename D0::type T0; typedef pair_from<I1, is_assoc> D1; typedef typename D1::type T1; typedef pair_from<I2, is_assoc> D2; typedef typename D2::type T2; typedef pair_from<I3, is_assoc> D3; typedef typename D3::type T3; typedef pair_from<I4, is_assoc> D4; typedef typename D4::type T4; typedef pair_from<I5, is_assoc> D5; typedef typename D5::type T5; typedef pair_from<I6, is_assoc> D6; typedef typename D6::type T6; typedef pair_from<I7, is_assoc> D7; typedef typename D7::type T7; typedef pair_from<I8, is_assoc> D8; typedef typename D8::type T8;
188 typedef map<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8> type;
190 template <typename Iterator>
191 BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
192 static typename apply<Iterator>::type
193 call(Iterator const& i0)
195 typedef apply<Iterator> gen;
196 typedef typename gen::type result;
197 typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7);
198 return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8));
201 template <bool is_assoc>
202 struct as_map<10, is_assoc>
204 template <typename I0>
207 typedef typename fusion::result_of::next<I0>::type I1; typedef typename fusion::result_of::next<I1>::type I2; typedef typename fusion::result_of::next<I2>::type I3; typedef typename fusion::result_of::next<I3>::type I4; typedef typename fusion::result_of::next<I4>::type I5; typedef typename fusion::result_of::next<I5>::type I6; typedef typename fusion::result_of::next<I6>::type I7; typedef typename fusion::result_of::next<I7>::type I8; typedef typename fusion::result_of::next<I8>::type I9;
208 typedef pair_from<I0, is_assoc> D0; typedef typename D0::type T0; typedef pair_from<I1, is_assoc> D1; typedef typename D1::type T1; typedef pair_from<I2, is_assoc> D2; typedef typename D2::type T2; typedef pair_from<I3, is_assoc> D3; typedef typename D3::type T3; typedef pair_from<I4, is_assoc> D4; typedef typename D4::type T4; typedef pair_from<I5, is_assoc> D5; typedef typename D5::type T5; typedef pair_from<I6, is_assoc> D6; typedef typename D6::type T6; typedef pair_from<I7, is_assoc> D7; typedef typename D7::type T7; typedef pair_from<I8, is_assoc> D8; typedef typename D8::type T8; typedef pair_from<I9, is_assoc> D9; typedef typename D9::type T9;
209 typedef map<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9> type;
211 template <typename Iterator>
212 BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
213 static typename apply<Iterator>::type
214 call(Iterator const& i0)
216 typedef apply<Iterator> gen;
217 typedef typename gen::type result;
218 typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8);
219 return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9));
222 BOOST_FUSION_BARRIER_END