00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef PALUDIS_GUARD_PALUDIS_UTIL_MAKE_NAMED_VALUES_HH
00021 #define PALUDIS_GUARD_PALUDIS_UTIL_MAKE_NAMED_VALUES_HH 1
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031 namespace paludis
00032 {
00033 #ifdef PALUDIS_HAVE_VARIADIC_TEMPLATES
00034
00035 # ifdef PALUDIS_HAVE_RVALUE_REFERENCES
00036
00037 template <typename R_, typename... T_>
00038 R_ make_named_values(T_ && ... a)
00039 {
00040 R_ result = { a... };
00041 return result;
00042 }
00043
00044 # else
00045
00046 template <typename R_, typename... T_>
00047 R_ make_named_values(const T_ & ... a)
00048 {
00049 R_ result = { a... };
00050 return result;
00051 }
00052
00053 # endif
00054
00055 #else
00056
00057 template <typename R_, typename T1_>
00058 R_ make_named_values(const T1_ & v1)
00059 {
00060 R_ result = { v1 };
00061 return result;
00062 }
00063
00064 template <typename R_, typename T1_, typename T2_>
00065 R_ make_named_values(const T1_ & v1, const T2_ & v2)
00066 {
00067 R_ result = { v1, v2 };
00068 return result;
00069 }
00070
00071 template <typename R_, typename T1_, typename T2_, typename T3_>
00072 R_ make_named_values(const T1_ & v1, const T2_ & v2, const T3_ & v3)
00073 {
00074 R_ result = { v1, v2, v3 };
00075 return result;
00076 }
00077
00078 template <typename R_, typename T1_, typename T2_, typename T3_, typename T4_>
00079 R_ make_named_values(const T1_ & v1, const T2_ & v2, const T3_ & v3, const T4_ & v4)
00080 {
00081 R_ result = { v1, v2, v3, v4 };
00082 return result;
00083 }
00084
00085 template <typename R_, typename T1_, typename T2_, typename T3_, typename T4_, typename T5_>
00086 R_ make_named_values(const T1_ & v1, const T2_ & v2, const T3_ & v3, const T4_ & v4, const T5_ & v5)
00087 {
00088 R_ result = { v1, v2, v3, v4, v5 };
00089 return result;
00090 }
00091
00092 template <typename R_, typename T1_, typename T2_, typename T3_, typename T4_, typename T5_,
00093 typename T6_>
00094 R_ make_named_values(const T1_ & v1, const T2_ & v2, const T3_ & v3, const T4_ & v4, const T5_ & v5,
00095 const T6_ & v6)
00096 {
00097 R_ result = { v1, v2, v3, v4, v5, v6 };
00098 return result;
00099 }
00100
00101 template <typename R_, typename T1_, typename T2_, typename T3_, typename T4_, typename T5_,
00102 typename T6_, typename T7_>
00103 R_ make_named_values(const T1_ & v1, const T2_ & v2, const T3_ & v3, const T4_ & v4, const T5_ & v5,
00104 const T6_ & v6, const T7_ & v7)
00105 {
00106 R_ result = { v1, v2, v3, v4, v5, v6, v7 };
00107 return result;
00108 }
00109
00110 template <typename R_, typename T1_, typename T2_, typename T3_, typename T4_, typename T5_,
00111 typename T6_, typename T7_, typename T8_>
00112 R_ make_named_values(const T1_ & v1, const T2_ & v2, const T3_ & v3, const T4_ & v4, const T5_ & v5,
00113 const T6_ & v6, const T7_ & v7, const T8_ & v8)
00114 {
00115 R_ result = { v1, v2, v3, v4, v5, v6, v7, v8 };
00116 return result;
00117 }
00118
00119 template <typename R_, typename T1_, typename T2_, typename T3_, typename T4_, typename T5_,
00120 typename T6_, typename T7_, typename T8_, typename T9_>
00121 R_ make_named_values(const T1_ & v1, const T2_ & v2, const T3_ & v3, const T4_ & v4, const T5_ & v5,
00122 const T6_ & v6, const T7_ & v7, const T8_ & v8, const T9_ & v9)
00123 {
00124 R_ result = { v1, v2, v3, v4, v5, v6, v7, v8, v9 };
00125 return result;
00126 }
00127
00128 template <typename R_, typename T1_, typename T2_, typename T3_, typename T4_, typename T5_,
00129 typename T6_, typename T7_, typename T8_, typename T9_, typename T10_>
00130 R_ make_named_values(const T1_ & v1, const T2_ & v2, const T3_ & v3, const T4_ & v4, const T5_ & v5,
00131 const T6_ & v6, const T7_ & v7, const T8_ & v8, const T9_ & v9, const T10_ & v10)
00132 {
00133 R_ result = { v1, v2, v3, v4, v5, v6, v7, v8, v9, v10 };
00134 return result;
00135 }
00136
00137 template <typename R_, typename T1_, typename T2_, typename T3_, typename T4_, typename T5_,
00138 typename T6_, typename T7_, typename T8_, typename T9_, typename T10_,
00139 typename T11_>
00140 R_ make_named_values(const T1_ & v1, const T2_ & v2, const T3_ & v3, const T4_ & v4, const T5_ & v5,
00141 const T6_ & v6, const T7_ & v7, const T8_ & v8, const T9_ & v9, const T10_ & v10,
00142 const T11_ & v11)
00143 {
00144 R_ result = { v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11 };
00145 return result;
00146 }
00147
00148 template <typename R_, typename T1_, typename T2_, typename T3_, typename T4_, typename T5_,
00149 typename T6_, typename T7_, typename T8_, typename T9_, typename T10_,
00150 typename T11_, typename T12_>
00151 R_ make_named_values(const T1_ & v1, const T2_ & v2, const T3_ & v3, const T4_ & v4, const T5_ & v5,
00152 const T6_ & v6, const T7_ & v7, const T8_ & v8, const T9_ & v9, const T10_ & v10,
00153 const T11_ & v11, const T12_ & v12)
00154 {
00155 R_ result = { v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12 };
00156 return result;
00157 }
00158
00159 template <typename R_, typename T1_, typename T2_, typename T3_, typename T4_, typename T5_,
00160 typename T6_, typename T7_, typename T8_, typename T9_, typename T10_,
00161 typename T11_, typename T12_, typename T13_>
00162 R_ make_named_values(const T1_ & v1, const T2_ & v2, const T3_ & v3, const T4_ & v4, const T5_ & v5,
00163 const T6_ & v6, const T7_ & v7, const T8_ & v8, const T9_ & v9, const T10_ & v10,
00164 const T11_ & v11, const T12_ & v12, const T13_ & v13)
00165 {
00166 R_ result = { v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13 };
00167 return result;
00168 }
00169
00170 template <typename R_, typename T1_, typename T2_, typename T3_, typename T4_, typename T5_,
00171 typename T6_, typename T7_, typename T8_, typename T9_, typename T10_,
00172 typename T11_, typename T12_, typename T13_, typename T14_>
00173 R_ make_named_values(const T1_ & v1, const T2_ & v2, const T3_ & v3, const T4_ & v4, const T5_ & v5,
00174 const T6_ & v6, const T7_ & v7, const T8_ & v8, const T9_ & v9, const T10_ & v10,
00175 const T11_ & v11, const T12_ & v12, const T13_ & v13, const T14_ & v14)
00176 {
00177 R_ result = { v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14 };
00178 return result;
00179 }
00180
00181 template <typename R_, typename T1_, typename T2_, typename T3_, typename T4_, typename T5_,
00182 typename T6_, typename T7_, typename T8_, typename T9_, typename T10_,
00183 typename T11_, typename T12_, typename T13_, typename T14_, typename T15_>
00184 R_ make_named_values(const T1_ & v1, const T2_ & v2, const T3_ & v3, const T4_ & v4, const T5_ & v5,
00185 const T6_ & v6, const T7_ & v7, const T8_ & v8, const T9_ & v9, const T10_ & v10,
00186 const T11_ & v11, const T12_ & v12, const T13_ & v13, const T14_ & v14, const T15_ & v15)
00187 {
00188 R_ result = { v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15 };
00189 return result;
00190 }
00191
00192 template <typename R_, typename T1_, typename T2_, typename T3_, typename T4_, typename T5_,
00193 typename T6_, typename T7_, typename T8_, typename T9_, typename T10_,
00194 typename T11_, typename T12_, typename T13_, typename T14_, typename T15_,
00195 typename T16_>
00196 R_ make_named_values(const T1_ & v1, const T2_ & v2, const T3_ & v3, const T4_ & v4, const T5_ & v5,
00197 const T6_ & v6, const T7_ & v7, const T8_ & v8, const T9_ & v9, const T10_ & v10,
00198 const T11_ & v11, const T12_ & v12, const T13_ & v13, const T14_ & v14, const T15_ & v15,
00199 const T16_ & v16)
00200 {
00201 R_ result = { v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16 };
00202 return result;
00203 }
00204
00205 template <typename R_, typename T1_, typename T2_, typename T3_, typename T4_, typename T5_,
00206 typename T6_, typename T7_, typename T8_, typename T9_, typename T10_,
00207 typename T11_, typename T12_, typename T13_, typename T14_, typename T15_,
00208 typename T16_, typename T17_>
00209 R_ make_named_values(const T1_ & v1, const T2_ & v2, const T3_ & v3, const T4_ & v4, const T5_ & v5,
00210 const T6_ & v6, const T7_ & v7, const T8_ & v8, const T9_ & v9, const T10_ & v10,
00211 const T11_ & v11, const T12_ & v12, const T13_ & v13, const T14_ & v14, const T15_ & v15,
00212 const T16_ & v16, const T17_ & v17)
00213 {
00214 R_ result = { v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17 };
00215 return result;
00216 }
00217
00218 template <typename R_, typename T1_, typename T2_, typename T3_, typename T4_, typename T5_,
00219 typename T6_, typename T7_, typename T8_, typename T9_, typename T10_,
00220 typename T11_, typename T12_, typename T13_, typename T14_, typename T15_,
00221 typename T16_, typename T17_, typename T18_>
00222 R_ make_named_values(const T1_ & v1, const T2_ & v2, const T3_ & v3, const T4_ & v4, const T5_ & v5,
00223 const T6_ & v6, const T7_ & v7, const T8_ & v8, const T9_ & v9, const T10_ & v10,
00224 const T11_ & v11, const T12_ & v12, const T13_ & v13, const T14_ & v14, const T15_ & v15,
00225 const T16_ & v16, const T17_ & v17, const T18_ & v18)
00226 {
00227 R_ result = { v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18 };
00228 return result;
00229 }
00230
00231 template <typename R_, typename T1_, typename T2_, typename T3_, typename T4_, typename T5_,
00232 typename T6_, typename T7_, typename T8_, typename T9_, typename T10_,
00233 typename T11_, typename T12_, typename T13_, typename T14_, typename T15_,
00234 typename T16_, typename T17_, typename T18_, typename T19_>
00235 R_ make_named_values(const T1_ & v1, const T2_ & v2, const T3_ & v3, const T4_ & v4, const T5_ & v5,
00236 const T6_ & v6, const T7_ & v7, const T8_ & v8, const T9_ & v9, const T10_ & v10,
00237 const T11_ & v11, const T12_ & v12, const T13_ & v13, const T14_ & v14, const T15_ & v15,
00238 const T16_ & v16, const T17_ & v17, const T18_ & v18, const T19_ & v19)
00239 {
00240 R_ result = { v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19 };
00241 return result;
00242 }
00243
00244 template <typename R_, typename T1_, typename T2_, typename T3_, typename T4_, typename T5_,
00245 typename T6_, typename T7_, typename T8_, typename T9_, typename T10_,
00246 typename T11_, typename T12_, typename T13_, typename T14_, typename T15_,
00247 typename T16_, typename T17_, typename T18_, typename T19_, typename T20_>
00248 R_ make_named_values(const T1_ & v1, const T2_ & v2, const T3_ & v3, const T4_ & v4, const T5_ & v5,
00249 const T6_ & v6, const T7_ & v7, const T8_ & v8, const T9_ & v9, const T10_ & v10,
00250 const T11_ & v11, const T12_ & v12, const T13_ & v13, const T14_ & v14, const T15_ & v15,
00251 const T16_ & v16, const T17_ & v17, const T18_ & v18, const T19_ & v19, const T20_ & v20)
00252 {
00253 R_ result = { v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20 };
00254 return result;
00255 }
00256
00257 template <typename R_, typename T1_, typename T2_, typename T3_, typename T4_, typename T5_,
00258 typename T6_, typename T7_, typename T8_, typename T9_, typename T10_,
00259 typename T11_, typename T12_, typename T13_, typename T14_, typename T15_,
00260 typename T16_, typename T17_, typename T18_, typename T19_, typename T20_,
00261 typename T21_>
00262 R_ make_named_values(const T1_ & v1, const T2_ & v2, const T3_ & v3, const T4_ & v4, const T5_ & v5,
00263 const T6_ & v6, const T7_ & v7, const T8_ & v8, const T9_ & v9, const T10_ & v10,
00264 const T11_ & v11, const T12_ & v12, const T13_ & v13, const T14_ & v14, const T15_ & v15,
00265 const T16_ & v16, const T17_ & v17, const T18_ & v18, const T19_ & v19, const T20_ & v20,
00266 const T21_ & v21)
00267 {
00268 R_ result = { v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20,
00269 v21 };
00270 return result;
00271 }
00272
00273 template <typename R_, typename T1_, typename T2_, typename T3_, typename T4_, typename T5_,
00274 typename T6_, typename T7_, typename T8_, typename T9_, typename T10_,
00275 typename T11_, typename T12_, typename T13_, typename T14_, typename T15_,
00276 typename T16_, typename T17_, typename T18_, typename T19_, typename T20_,
00277 typename T21_, typename T22_>
00278 R_ make_named_values(const T1_ & v1, const T2_ & v2, const T3_ & v3, const T4_ & v4, const T5_ & v5,
00279 const T6_ & v6, const T7_ & v7, const T8_ & v8, const T9_ & v9, const T10_ & v10,
00280 const T11_ & v11, const T12_ & v12, const T13_ & v13, const T14_ & v14, const T15_ & v15,
00281 const T16_ & v16, const T17_ & v17, const T18_ & v18, const T19_ & v19, const T20_ & v20,
00282 const T21_ & v21, const T22_ & v22)
00283 {
00284 R_ result = { v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20,
00285 v21, v22 };
00286 return result;
00287 }
00288
00289 template <typename R_, typename T1_, typename T2_, typename T3_, typename T4_, typename T5_,
00290 typename T6_, typename T7_, typename T8_, typename T9_, typename T10_,
00291 typename T11_, typename T12_, typename T13_, typename T14_, typename T15_,
00292 typename T16_, typename T17_, typename T18_, typename T19_, typename T20_,
00293 typename T21_, typename T22_, typename T23_>
00294 R_ make_named_values(const T1_ & v1, const T2_ & v2, const T3_ & v3, const T4_ & v4, const T5_ & v5,
00295 const T6_ & v6, const T7_ & v7, const T8_ & v8, const T9_ & v9, const T10_ & v10,
00296 const T11_ & v11, const T12_ & v12, const T13_ & v13, const T14_ & v14, const T15_ & v15,
00297 const T16_ & v16, const T17_ & v17, const T18_ & v18, const T19_ & v19, const T20_ & v20,
00298 const T21_ & v21, const T22_ & v22, const T23_ & v23)
00299 {
00300 R_ result = { v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20,
00301 v21, v22, v23 };
00302 return result;
00303 }
00304
00305 template <typename R_, typename T1_, typename T2_, typename T3_, typename T4_, typename T5_,
00306 typename T6_, typename T7_, typename T8_, typename T9_, typename T10_,
00307 typename T11_, typename T12_, typename T13_, typename T14_, typename T15_,
00308 typename T16_, typename T17_, typename T18_, typename T19_, typename T20_,
00309 typename T21_, typename T22_, typename T23_, typename T24_>
00310 R_ make_named_values(const T1_ & v1, const T2_ & v2, const T3_ & v3, const T4_ & v4, const T5_ & v5,
00311 const T6_ & v6, const T7_ & v7, const T8_ & v8, const T9_ & v9, const T10_ & v10,
00312 const T11_ & v11, const T12_ & v12, const T13_ & v13, const T14_ & v14, const T15_ & v15,
00313 const T16_ & v16, const T17_ & v17, const T18_ & v18, const T19_ & v19, const T20_ & v20,
00314 const T21_ & v21, const T22_ & v22, const T23_ & v23, const T24_ & v24)
00315 {
00316 R_ result = { v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20,
00317 v21, v22, v23, v24 };
00318 return result;
00319 }
00320
00321 template <typename R_, typename T1_, typename T2_, typename T3_, typename T4_, typename T5_,
00322 typename T6_, typename T7_, typename T8_, typename T9_, typename T10_,
00323 typename T11_, typename T12_, typename T13_, typename T14_, typename T15_,
00324 typename T16_, typename T17_, typename T18_, typename T19_, typename T20_,
00325 typename T21_, typename T22_, typename T23_, typename T24_, typename T25_>
00326 R_ make_named_values(const T1_ & v1, const T2_ & v2, const T3_ & v3, const T4_ & v4, const T5_ & v5,
00327 const T6_ & v6, const T7_ & v7, const T8_ & v8, const T9_ & v9, const T10_ & v10,
00328 const T11_ & v11, const T12_ & v12, const T13_ & v13, const T14_ & v14, const T15_ & v15,
00329 const T16_ & v16, const T17_ & v17, const T18_ & v18, const T19_ & v19, const T20_ & v20,
00330 const T21_ & v21, const T22_ & v22, const T23_ & v23, const T24_ & v24, const T25_ & v25)
00331 {
00332 R_ result = { v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20,
00333 v21, v22, v23, v24, v25 };
00334 return result;
00335 }
00336
00337 template <typename R_, typename T1_, typename T2_, typename T3_, typename T4_, typename T5_,
00338 typename T6_, typename T7_, typename T8_, typename T9_, typename T10_,
00339 typename T11_, typename T12_, typename T13_, typename T14_, typename T15_,
00340 typename T16_, typename T17_, typename T18_, typename T19_, typename T20_,
00341 typename T21_, typename T22_, typename T23_, typename T24_, typename T25_,
00342 typename T26_>
00343 R_ make_named_values(const T1_ & v1, const T2_ & v2, const T3_ & v3, const T4_ & v4, const T5_ & v5,
00344 const T6_ & v6, const T7_ & v7, const T8_ & v8, const T9_ & v9, const T10_ & v10,
00345 const T11_ & v11, const T12_ & v12, const T13_ & v13, const T14_ & v14, const T15_ & v15,
00346 const T16_ & v16, const T17_ & v17, const T18_ & v18, const T19_ & v19, const T20_ & v20,
00347 const T21_ & v21, const T22_ & v22, const T23_ & v23, const T24_ & v24, const T25_ & v25,
00348 const T26_ & v26)
00349 {
00350 R_ result = { v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20,
00351 v21, v22, v23, v24, v25, v26 };
00352 return result;
00353 }
00354
00355 template <typename R_, typename T1_, typename T2_, typename T3_, typename T4_, typename T5_,
00356 typename T6_, typename T7_, typename T8_, typename T9_, typename T10_,
00357 typename T11_, typename T12_, typename T13_, typename T14_, typename T15_,
00358 typename T16_, typename T17_, typename T18_, typename T19_, typename T20_,
00359 typename T21_, typename T22_, typename T23_, typename T24_, typename T25_,
00360 typename T26_, typename T27_>
00361 R_ make_named_values(const T1_ & v1, const T2_ & v2, const T3_ & v3, const T4_ & v4, const T5_ & v5,
00362 const T6_ & v6, const T7_ & v7, const T8_ & v8, const T9_ & v9, const T10_ & v10,
00363 const T11_ & v11, const T12_ & v12, const T13_ & v13, const T14_ & v14, const T15_ & v15,
00364 const T16_ & v16, const T17_ & v17, const T18_ & v18, const T19_ & v19, const T20_ & v20,
00365 const T21_ & v21, const T22_ & v22, const T23_ & v23, const T24_ & v24, const T25_ & v25,
00366 const T26_ & v26, const T27_ & v27)
00367 {
00368 R_ result = { v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20,
00369 v21, v22, v23, v24, v25, v26, v27 };
00370 return result;
00371 }
00372
00373 template <typename R_, typename T1_, typename T2_, typename T3_, typename T4_, typename T5_,
00374 typename T6_, typename T7_, typename T8_, typename T9_, typename T10_,
00375 typename T11_, typename T12_, typename T13_, typename T14_, typename T15_,
00376 typename T16_, typename T17_, typename T18_, typename T19_, typename T20_,
00377 typename T21_, typename T22_, typename T23_, typename T24_, typename T25_,
00378 typename T26_, typename T27_, typename T28_>
00379 R_ make_named_values(const T1_ & v1, const T2_ & v2, const T3_ & v3, const T4_ & v4, const T5_ & v5,
00380 const T6_ & v6, const T7_ & v7, const T8_ & v8, const T9_ & v9, const T10_ & v10,
00381 const T11_ & v11, const T12_ & v12, const T13_ & v13, const T14_ & v14, const T15_ & v15,
00382 const T16_ & v16, const T17_ & v17, const T18_ & v18, const T19_ & v19, const T20_ & v20,
00383 const T21_ & v21, const T22_ & v22, const T23_ & v23, const T24_ & v24, const T25_ & v25,
00384 const T26_ & v26, const T27_ & v27, const T28_ & v28)
00385 {
00386 R_ result = { v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20,
00387 v21, v22, v23, v24, v25, v26, v27, v28 };
00388 return result;
00389 }
00390
00391 template <typename R_, typename T1_, typename T2_, typename T3_, typename T4_, typename T5_,
00392 typename T6_, typename T7_, typename T8_, typename T9_, typename T10_,
00393 typename T11_, typename T12_, typename T13_, typename T14_, typename T15_,
00394 typename T16_, typename T17_, typename T18_, typename T19_, typename T20_,
00395 typename T21_, typename T22_, typename T23_, typename T24_, typename T25_,
00396 typename T26_, typename T27_, typename T28_, typename T29_>
00397 R_ make_named_values(const T1_ & v1, const T2_ & v2, const T3_ & v3, const T4_ & v4, const T5_ & v5,
00398 const T6_ & v6, const T7_ & v7, const T8_ & v8, const T9_ & v9, const T10_ & v10,
00399 const T11_ & v11, const T12_ & v12, const T13_ & v13, const T14_ & v14, const T15_ & v15,
00400 const T16_ & v16, const T17_ & v17, const T18_ & v18, const T19_ & v19, const T20_ & v20,
00401 const T21_ & v21, const T22_ & v22, const T23_ & v23, const T24_ & v24, const T25_ & v25,
00402 const T26_ & v26, const T27_ & v27, const T28_ & v28, const T29_ & v29)
00403 {
00404 R_ result = { v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20,
00405 v21, v22, v23, v24, v25, v26, v27, v28, v29 };
00406 return result;
00407 }
00408
00409 template <typename R_, typename T1_, typename T2_, typename T3_, typename T4_, typename T5_,
00410 typename T6_, typename T7_, typename T8_, typename T9_, typename T10_,
00411 typename T11_, typename T12_, typename T13_, typename T14_, typename T15_,
00412 typename T16_, typename T17_, typename T18_, typename T19_, typename T20_,
00413 typename T21_, typename T22_, typename T23_, typename T24_, typename T25_,
00414 typename T26_, typename T27_, typename T28_, typename T29_, typename T30_>
00415 R_ make_named_values(const T1_ & v1, const T2_ & v2, const T3_ & v3, const T4_ & v4, const T5_ & v5,
00416 const T6_ & v6, const T7_ & v7, const T8_ & v8, const T9_ & v9, const T10_ & v10,
00417 const T11_ & v11, const T12_ & v12, const T13_ & v13, const T14_ & v14, const T15_ & v15,
00418 const T16_ & v16, const T17_ & v17, const T18_ & v18, const T19_ & v19, const T20_ & v20,
00419 const T21_ & v21, const T22_ & v22, const T23_ & v23, const T24_ & v24, const T25_ & v25,
00420 const T26_ & v26, const T27_ & v27, const T28_ & v28, const T29_ & v29, const T30_ & v30)
00421 {
00422 R_ result = { v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20,
00423 v21, v22, v23, v24, v25, v26, v27, v28, v29, v30 };
00424 return result;
00425 }
00426
00427 template <typename R_, typename T1_, typename T2_, typename T3_, typename T4_, typename T5_,
00428 typename T6_, typename T7_, typename T8_, typename T9_, typename T10_,
00429 typename T11_, typename T12_, typename T13_, typename T14_, typename T15_,
00430 typename T16_, typename T17_, typename T18_, typename T19_, typename T20_,
00431 typename T21_, typename T22_, typename T23_, typename T24_, typename T25_,
00432 typename T26_, typename T27_, typename T28_, typename T29_, typename T30_,
00433 typename T31_>
00434 R_ make_named_values(const T1_ & v1, const T2_ & v2, const T3_ & v3, const T4_ & v4, const T5_ & v5,
00435 const T6_ & v6, const T7_ & v7, const T8_ & v8, const T9_ & v9, const T10_ & v10,
00436 const T11_ & v11, const T12_ & v12, const T13_ & v13, const T14_ & v14, const T15_ & v15,
00437 const T16_ & v16, const T17_ & v17, const T18_ & v18, const T19_ & v19, const T20_ & v20,
00438 const T21_ & v21, const T22_ & v22, const T23_ & v23, const T24_ & v24, const T25_ & v25,
00439 const T26_ & v26, const T27_ & v27, const T28_ & v28, const T29_ & v29, const T30_ & v30,
00440 const T31_ & v31)
00441 {
00442 R_ result = { v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20,
00443 v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31 };
00444 return result;
00445 }
00446
00447 template <typename R_, typename T1_, typename T2_, typename T3_, typename T4_, typename T5_,
00448 typename T6_, typename T7_, typename T8_, typename T9_, typename T10_,
00449 typename T11_, typename T12_, typename T13_, typename T14_, typename T15_,
00450 typename T16_, typename T17_, typename T18_, typename T19_, typename T20_,
00451 typename T21_, typename T22_, typename T23_, typename T24_, typename T25_,
00452 typename T26_, typename T27_, typename T28_, typename T29_, typename T30_,
00453 typename T31_, typename T32_>
00454 R_ make_named_values(const T1_ & v1, const T2_ & v2, const T3_ & v3, const T4_ & v4, const T5_ & v5,
00455 const T6_ & v6, const T7_ & v7, const T8_ & v8, const T9_ & v9, const T10_ & v10,
00456 const T11_ & v11, const T12_ & v12, const T13_ & v13, const T14_ & v14, const T15_ & v15,
00457 const T16_ & v16, const T17_ & v17, const T18_ & v18, const T19_ & v19, const T20_ & v20,
00458 const T21_ & v21, const T22_ & v22, const T23_ & v23, const T24_ & v24, const T25_ & v25,
00459 const T26_ & v26, const T27_ & v27, const T28_ & v28, const T29_ & v29, const T30_ & v30,
00460 const T31_ & v31, const T32_ & v32)
00461 {
00462 R_ result = { v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20,
00463 v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32 };
00464 return result;
00465 }
00466
00467 template <typename R_, typename T1_, typename T2_, typename T3_, typename T4_, typename T5_,
00468 typename T6_, typename T7_, typename T8_, typename T9_, typename T10_,
00469 typename T11_, typename T12_, typename T13_, typename T14_, typename T15_,
00470 typename T16_, typename T17_, typename T18_, typename T19_, typename T20_,
00471 typename T21_, typename T22_, typename T23_, typename T24_, typename T25_,
00472 typename T26_, typename T27_, typename T28_, typename T29_, typename T30_,
00473 typename T31_, typename T32_, typename T33_>
00474 R_ make_named_values(const T1_ & v1, const T2_ & v2, const T3_ & v3, const T4_ & v4, const T5_ & v5,
00475 const T6_ & v6, const T7_ & v7, const T8_ & v8, const T9_ & v9, const T10_ & v10,
00476 const T11_ & v11, const T12_ & v12, const T13_ & v13, const T14_ & v14, const T15_ & v15,
00477 const T16_ & v16, const T17_ & v17, const T18_ & v18, const T19_ & v19, const T20_ & v20,
00478 const T21_ & v21, const T22_ & v22, const T23_ & v23, const T24_ & v24, const T25_ & v25,
00479 const T26_ & v26, const T27_ & v27, const T28_ & v28, const T29_ & v29, const T30_ & v30,
00480 const T31_ & v31, const T32_ & v32, const T33_ & v33)
00481 {
00482 R_ result = { v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20,
00483 v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33 };
00484 return result;
00485 }
00486
00487 template <typename R_, typename T1_, typename T2_, typename T3_, typename T4_, typename T5_,
00488 typename T6_, typename T7_, typename T8_, typename T9_, typename T10_,
00489 typename T11_, typename T12_, typename T13_, typename T14_, typename T15_,
00490 typename T16_, typename T17_, typename T18_, typename T19_, typename T20_,
00491 typename T21_, typename T22_, typename T23_, typename T24_, typename T25_,
00492 typename T26_, typename T27_, typename T28_, typename T29_, typename T30_,
00493 typename T31_, typename T32_, typename T33_, typename T34_>
00494 R_ make_named_values(const T1_ & v1, const T2_ & v2, const T3_ & v3, const T4_ & v4, const T5_ & v5,
00495 const T6_ & v6, const T7_ & v7, const T8_ & v8, const T9_ & v9, const T10_ & v10,
00496 const T11_ & v11, const T12_ & v12, const T13_ & v13, const T14_ & v14, const T15_ & v15,
00497 const T16_ & v16, const T17_ & v17, const T18_ & v18, const T19_ & v19, const T20_ & v20,
00498 const T21_ & v21, const T22_ & v22, const T23_ & v23, const T24_ & v24, const T25_ & v25,
00499 const T26_ & v26, const T27_ & v27, const T28_ & v28, const T29_ & v29, const T30_ & v30,
00500 const T31_ & v31, const T32_ & v32, const T33_ & v33, const T34_ & v34)
00501 {
00502 R_ result = { v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20,
00503 v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34 };
00504 return result;
00505 }
00506
00507 template <typename R_, typename T1_, typename T2_, typename T3_, typename T4_, typename T5_,
00508 typename T6_, typename T7_, typename T8_, typename T9_, typename T10_,
00509 typename T11_, typename T12_, typename T13_, typename T14_, typename T15_,
00510 typename T16_, typename T17_, typename T18_, typename T19_, typename T20_,
00511 typename T21_, typename T22_, typename T23_, typename T24_, typename T25_,
00512 typename T26_, typename T27_, typename T28_, typename T29_, typename T30_,
00513 typename T31_, typename T32_, typename T33_, typename T34_, typename T35_>
00514 R_ make_named_values(const T1_ & v1, const T2_ & v2, const T3_ & v3, const T4_ & v4, const T5_ & v5,
00515 const T6_ & v6, const T7_ & v7, const T8_ & v8, const T9_ & v9, const T10_ & v10,
00516 const T11_ & v11, const T12_ & v12, const T13_ & v13, const T14_ & v14, const T15_ & v15,
00517 const T16_ & v16, const T17_ & v17, const T18_ & v18, const T19_ & v19, const T20_ & v20,
00518 const T21_ & v21, const T22_ & v22, const T23_ & v23, const T24_ & v24, const T25_ & v25,
00519 const T26_ & v26, const T27_ & v27, const T28_ & v28, const T29_ & v29, const T30_ & v30,
00520 const T31_ & v31, const T32_ & v32, const T33_ & v33, const T34_ & v34, const T35_ & v35)
00521 {
00522 R_ result = { v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20,
00523 v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35 };
00524 return result;
00525 }
00526
00527 #endif
00528 }
00529
00530 #endif