aas-core3.1 0.0.1-alpha.1
Manipulate, verify and de/serialize asset administration shells V3.1 in C++.
Loading...
Searching...
No Matches
common.hpp
Go to the documentation of this file.
1#ifndef AAS_CORE_AAS_3_1_GUARD_
2#define AAS_CORE_AAS_3_1_GUARD_
3
4// This code has been automatically generated by aas-core-codegen.
5// Do NOT edit or append.
6
7#pragma warning(push, 0)
8#include <algorithm>
9#include <functional>
10#include <memory>
11#include <sstream>
12#include <string>
13#include <utility>
14#pragma warning(pop)
15
16// NOTE (mristin):
17// See: https://stackoverflow.com/questions/2324658/how-to-determine-the-version-of-the-c-standard-used-by-the-compiler
18#if ((defined(_MSVC_LANG) && _MSVC_LANG >= 201703L) || __cplusplus >= 201703L)
19// NOTE (mristin):
20// Standard library provides std::optional in C++17 and above.
21#pragma warning(push, 0)
22#include <optional>
23#pragma warning(pop)
24#else
25// NOTE (mristin):
26// We rely on https://github.com/TartanLlama/optional for optional structure.
27#pragma warning(push, 0)
28#include <tl/optional.hpp>
29#pragma warning(pop)
30#endif
31
32// NOTE (mristin):
33// We check for the version above C++20 as there is no C++23 literal yet, and
34// std::expected is available only in C++23.
35// See: https://stackoverflow.com/questions/2324658/how-to-determine-the-version-of-the-c-standard-used-by-the-compiler
36// and: http://eel.is/c++draft/cpp.predefined#1.1
37#if ((defined(_MSVC_LANG) && _MSVC_LANG > 202002L) || __cplusplus > 202002L)
38// Standard library provides std::expected in C++23 and above.
39#pragma warning(push, 0)
40#include <expected>
41#pragma warning(pop)
42#else
43// NOTE (mristin):
44// We rely on https://github.com/TartanLlama/expected for expected structure.
45#pragma warning(push, 0)
46#include <tl/expected.hpp>
47#pragma warning(pop)
48#endif
49
50namespace aas_core {
51namespace aas_3_1 {
52
57namespace common {
58
59// Please keep in sync with the preprocessing directives above in the include block.
60#if ((defined(_MSVC_LANG) && _MSVC_LANG >= 201703L) || __cplusplus >= 201703L)
61// Standard library provides std::optional in C++17 and above.
62using std::optional;
63using std::nullopt;
64using std::make_optional;
65#else
66using tl::optional;
67using tl::nullopt;
68using tl::make_optional;
69#endif
70
71// Please keep in sync with the preprocessing directives above in the include block.
72#if ((defined(_MSVC_LANG) && _MSVC_LANG > 202002L) || __cplusplus > 202002L)
73using std::expected;
74using std::unexpected;
75using std::make_unexpected;
76#else
77using tl::expected;
78using tl::unexpected;
79using tl::make_unexpected;
80#endif
81
82// Please keep in sync with the preprocessing directives above in the include block.
83// Standard library provides std::make_unique in C++14 and above.
84#if ((defined(_MSVC_LANG) && _MSVC_LANG >= 201402L) || __cplusplus >= 201402L)
85using std::make_unique;
86#else
87// Inspired by:
88// https://stackoverflow.com/questions/12547983/is-there-a-way-to-write-make-unique-in-vs2012
89template<typename T>
90std::unique_ptr<T> make_unique() {
91 return std::unique_ptr<T>(
92 new T()
93 );
94}
95
96template<
97 typename T,
98 typename A1
99>
100std::unique_ptr<T> make_unique(
101 A1&& a1
102) {
103 return std::unique_ptr<T>(
104 new T(
105 std::forward<A1>(a1)
106 )
107 );
108}
109
110template<
111 typename T,
112 typename A1,
113 typename A2
114>
115std::unique_ptr<T> make_unique(
116 A1&& a1,
117 A2&& a2
118) {
119 return std::unique_ptr<T>(
120 new T(
121 std::forward<A1>(a1),
122 std::forward<A2>(a2)
123 )
124 );
125}
126
127template<
128 typename T,
129 typename A1,
130 typename A2,
131 typename A3
132>
133std::unique_ptr<T> make_unique(
134 A1&& a1,
135 A2&& a2,
136 A3&& a3
137) {
138 return std::unique_ptr<T>(
139 new T(
140 std::forward<A1>(a1),
141 std::forward<A2>(a2),
142 std::forward<A3>(a3)
143 )
144 );
145}
146
147template<
148 typename T,
149 typename A1,
150 typename A2,
151 typename A3,
152 typename A4
153>
154std::unique_ptr<T> make_unique(
155 A1&& a1,
156 A2&& a2,
157 A3&& a3,
158 A4&& a4
159) {
160 return std::unique_ptr<T>(
161 new T(
162 std::forward<A1>(a1),
163 std::forward<A2>(a2),
164 std::forward<A3>(a3),
165 std::forward<A4>(a4)
166 )
167 );
168}
169
170template<
171 typename T,
172 typename A1,
173 typename A2,
174 typename A3,
175 typename A4,
176 typename A5
177>
178std::unique_ptr<T> make_unique(
179 A1&& a1,
180 A2&& a2,
181 A3&& a3,
182 A4&& a4,
183 A5&& a5
184) {
185 return std::unique_ptr<T>(
186 new T(
187 std::forward<A1>(a1),
188 std::forward<A2>(a2),
189 std::forward<A3>(a3),
190 std::forward<A4>(a4),
191 std::forward<A5>(a5)
192 )
193 );
194}
195
196template<
197 typename T,
198 typename A1,
199 typename A2,
200 typename A3,
201 typename A4,
202 typename A5,
203 typename A6
204>
205std::unique_ptr<T> make_unique(
206 A1&& a1,
207 A2&& a2,
208 A3&& a3,
209 A4&& a4,
210 A5&& a5,
211 A6&& a6
212) {
213 return std::unique_ptr<T>(
214 new T(
215 std::forward<A1>(a1),
216 std::forward<A2>(a2),
217 std::forward<A3>(a3),
218 std::forward<A4>(a4),
219 std::forward<A5>(a5),
220 std::forward<A6>(a6)
221 )
222 );
223}
224
225template<
226 typename T,
227 typename A1,
228 typename A2,
229 typename A3,
230 typename A4,
231 typename A5,
232 typename A6,
233 typename A7
234>
235std::unique_ptr<T> make_unique(
236 A1&& a1,
237 A2&& a2,
238 A3&& a3,
239 A4&& a4,
240 A5&& a5,
241 A6&& a6,
242 A7&& a7
243) {
244 return std::unique_ptr<T>(
245 new T(
246 std::forward<A1>(a1),
247 std::forward<A2>(a2),
248 std::forward<A3>(a3),
249 std::forward<A4>(a4),
250 std::forward<A5>(a5),
251 std::forward<A6>(a6),
252 std::forward<A7>(a7)
253 )
254 );
255}
256
257template<
258 typename T,
259 typename A1,
260 typename A2,
261 typename A3,
262 typename A4,
263 typename A5,
264 typename A6,
265 typename A7,
266 typename A8
267>
268std::unique_ptr<T> make_unique(
269 A1&& a1,
270 A2&& a2,
271 A3&& a3,
272 A4&& a4,
273 A5&& a5,
274 A6&& a6,
275 A7&& a7,
276 A8&& a8
277) {
278 return std::unique_ptr<T>(
279 new T(
280 std::forward<A1>(a1),
281 std::forward<A2>(a2),
282 std::forward<A3>(a3),
283 std::forward<A4>(a4),
284 std::forward<A5>(a5),
285 std::forward<A6>(a6),
286 std::forward<A7>(a7),
287 std::forward<A8>(a8)
288 )
289 );
290}
291
292template<
293 typename T,
294 typename A1,
295 typename A2,
296 typename A3,
297 typename A4,
298 typename A5,
299 typename A6,
300 typename A7,
301 typename A8,
302 typename A9
303>
304std::unique_ptr<T> make_unique(
305 A1&& a1,
306 A2&& a2,
307 A3&& a3,
308 A4&& a4,
309 A5&& a5,
310 A6&& a6,
311 A7&& a7,
312 A8&& a8,
313 A9&& a9
314) {
315 return std::unique_ptr<T>(
316 new T(
317 std::forward<A1>(a1),
318 std::forward<A2>(a2),
319 std::forward<A3>(a3),
320 std::forward<A4>(a4),
321 std::forward<A5>(a5),
322 std::forward<A6>(a6),
323 std::forward<A7>(a7),
324 std::forward<A8>(a8),
325 std::forward<A9>(a9)
326 )
327 );
328}
329
330template<
331 typename T,
332 typename A1,
333 typename A2,
334 typename A3,
335 typename A4,
336 typename A5,
337 typename A6,
338 typename A7,
339 typename A8,
340 typename A9,
341 typename A10
342>
343std::unique_ptr<T> make_unique(
344 A1&& a1,
345 A2&& a2,
346 A3&& a3,
347 A4&& a4,
348 A5&& a5,
349 A6&& a6,
350 A7&& a7,
351 A8&& a8,
352 A9&& a9,
353 A10&& a10
354) {
355 return std::unique_ptr<T>(
356 new T(
357 std::forward<A1>(a1),
358 std::forward<A2>(a2),
359 std::forward<A3>(a3),
360 std::forward<A4>(a4),
361 std::forward<A5>(a5),
362 std::forward<A6>(a6),
363 std::forward<A7>(a7),
364 std::forward<A8>(a8),
365 std::forward<A9>(a9),
366 std::forward<A10>(a10)
367 )
368 );
369}
370
371template<
372 typename T,
373 typename A1,
374 typename A2,
375 typename A3,
376 typename A4,
377 typename A5,
378 typename A6,
379 typename A7,
380 typename A8,
381 typename A9,
382 typename A10,
383 typename A11
384>
385std::unique_ptr<T> make_unique(
386 A1&& a1,
387 A2&& a2,
388 A3&& a3,
389 A4&& a4,
390 A5&& a5,
391 A6&& a6,
392 A7&& a7,
393 A8&& a8,
394 A9&& a9,
395 A10&& a10,
396 A11&& a11
397) {
398 return std::unique_ptr<T>(
399 new T(
400 std::forward<A1>(a1),
401 std::forward<A2>(a2),
402 std::forward<A3>(a3),
403 std::forward<A4>(a4),
404 std::forward<A5>(a5),
405 std::forward<A6>(a6),
406 std::forward<A7>(a7),
407 std::forward<A8>(a8),
408 std::forward<A9>(a9),
409 std::forward<A10>(a10),
410 std::forward<A11>(a11)
411 )
412 );
413}
414
415template<
416 typename T,
417 typename A1,
418 typename A2,
419 typename A3,
420 typename A4,
421 typename A5,
422 typename A6,
423 typename A7,
424 typename A8,
425 typename A9,
426 typename A10,
427 typename A11,
428 typename A12
429>
430std::unique_ptr<T> make_unique(
431 A1&& a1,
432 A2&& a2,
433 A3&& a3,
434 A4&& a4,
435 A5&& a5,
436 A6&& a6,
437 A7&& a7,
438 A8&& a8,
439 A9&& a9,
440 A10&& a10,
441 A11&& a11,
442 A12&& a12
443) {
444 return std::unique_ptr<T>(
445 new T(
446 std::forward<A1>(a1),
447 std::forward<A2>(a2),
448 std::forward<A3>(a3),
449 std::forward<A4>(a4),
450 std::forward<A5>(a5),
451 std::forward<A6>(a6),
452 std::forward<A7>(a7),
453 std::forward<A8>(a8),
454 std::forward<A9>(a9),
455 std::forward<A10>(a10),
456 std::forward<A11>(a11),
457 std::forward<A12>(a12)
458 )
459 );
460}
461
462template<
463 typename T,
464 typename A1,
465 typename A2,
466 typename A3,
467 typename A4,
468 typename A5,
469 typename A6,
470 typename A7,
471 typename A8,
472 typename A9,
473 typename A10,
474 typename A11,
475 typename A12,
476 typename A13
477>
478std::unique_ptr<T> make_unique(
479 A1&& a1,
480 A2&& a2,
481 A3&& a3,
482 A4&& a4,
483 A5&& a5,
484 A6&& a6,
485 A7&& a7,
486 A8&& a8,
487 A9&& a9,
488 A10&& a10,
489 A11&& a11,
490 A12&& a12,
491 A13&& a13
492) {
493 return std::unique_ptr<T>(
494 new T(
495 std::forward<A1>(a1),
496 std::forward<A2>(a2),
497 std::forward<A3>(a3),
498 std::forward<A4>(a4),
499 std::forward<A5>(a5),
500 std::forward<A6>(a6),
501 std::forward<A7>(a7),
502 std::forward<A8>(a8),
503 std::forward<A9>(a9),
504 std::forward<A10>(a10),
505 std::forward<A11>(a11),
506 std::forward<A12>(a12),
507 std::forward<A13>(a13)
508 )
509 );
510}
511
512template<
513 typename T,
514 typename A1,
515 typename A2,
516 typename A3,
517 typename A4,
518 typename A5,
519 typename A6,
520 typename A7,
521 typename A8,
522 typename A9,
523 typename A10,
524 typename A11,
525 typename A12,
526 typename A13,
527 typename A14
528>
529std::unique_ptr<T> make_unique(
530 A1&& a1,
531 A2&& a2,
532 A3&& a3,
533 A4&& a4,
534 A5&& a5,
535 A6&& a6,
536 A7&& a7,
537 A8&& a8,
538 A9&& a9,
539 A10&& a10,
540 A11&& a11,
541 A12&& a12,
542 A13&& a13,
543 A14&& a14
544) {
545 return std::unique_ptr<T>(
546 new T(
547 std::forward<A1>(a1),
548 std::forward<A2>(a2),
549 std::forward<A3>(a3),
550 std::forward<A4>(a4),
551 std::forward<A5>(a5),
552 std::forward<A6>(a6),
553 std::forward<A7>(a7),
554 std::forward<A8>(a8),
555 std::forward<A9>(a9),
556 std::forward<A10>(a10),
557 std::forward<A11>(a11),
558 std::forward<A12>(a12),
559 std::forward<A13>(a13),
560 std::forward<A14>(a14)
561 )
562 );
563}
564
565template<
566 typename T,
567 typename A1,
568 typename A2,
569 typename A3,
570 typename A4,
571 typename A5,
572 typename A6,
573 typename A7,
574 typename A8,
575 typename A9,
576 typename A10,
577 typename A11,
578 typename A12,
579 typename A13,
580 typename A14,
581 typename A15
582>
583std::unique_ptr<T> make_unique(
584 A1&& a1,
585 A2&& a2,
586 A3&& a3,
587 A4&& a4,
588 A5&& a5,
589 A6&& a6,
590 A7&& a7,
591 A8&& a8,
592 A9&& a9,
593 A10&& a10,
594 A11&& a11,
595 A12&& a12,
596 A13&& a13,
597 A14&& a14,
598 A15&& a15
599) {
600 return std::unique_ptr<T>(
601 new T(
602 std::forward<A1>(a1),
603 std::forward<A2>(a2),
604 std::forward<A3>(a3),
605 std::forward<A4>(a4),
606 std::forward<A5>(a5),
607 std::forward<A6>(a6),
608 std::forward<A7>(a7),
609 std::forward<A8>(a8),
610 std::forward<A9>(a9),
611 std::forward<A10>(a10),
612 std::forward<A11>(a11),
613 std::forward<A12>(a12),
614 std::forward<A13>(a13),
615 std::forward<A14>(a14),
616 std::forward<A15>(a15)
617 )
618 );
619}
620#endif
621
629std::string Concat(
630 const std::string& part0,
631 const std::string& part1
632);
633
642std::string Concat(
643 const std::string& part0,
644 const std::string& part1,
645 const std::string& part2
646);
647
657std::string Concat(
658 const std::string& part0,
659 const std::string& part1,
660 const std::string& part2,
661 const std::string& part3
662);
663
674std::string Concat(
675 const std::string& part0,
676 const std::string& part1,
677 const std::string& part2,
678 const std::string& part3,
679 const std::string& part4
680);
681
693std::string Concat(
694 const std::string& part0,
695 const std::string& part1,
696 const std::string& part2,
697 const std::string& part3,
698 const std::string& part4,
699 const std::string& part5
700);
701
714std::string Concat(
715 const std::string& part0,
716 const std::string& part1,
717 const std::string& part2,
718 const std::string& part3,
719 const std::string& part4,
720 const std::string& part5,
721 const std::string& part6
722);
723
737std::string Concat(
738 const std::string& part0,
739 const std::string& part1,
740 const std::string& part2,
741 const std::string& part3,
742 const std::string& part4,
743 const std::string& part5,
744 const std::string& part6,
745 const std::string& part7
746);
747
762std::string Concat(
763 const std::string& part0,
764 const std::string& part1,
765 const std::string& part2,
766 const std::string& part3,
767 const std::string& part4,
768 const std::string& part5,
769 const std::string& part6,
770 const std::string& part7,
771 const std::string& part8
772);
773
789std::string Concat(
790 const std::string& part0,
791 const std::string& part1,
792 const std::string& part2,
793 const std::string& part3,
794 const std::string& part4,
795 const std::string& part5,
796 const std::string& part6,
797 const std::string& part7,
798 const std::string& part8,
799 const std::string& part9
800);
801
818std::string Concat(
819 const std::string& part0,
820 const std::string& part1,
821 const std::string& part2,
822 const std::string& part3,
823 const std::string& part4,
824 const std::string& part5,
825 const std::string& part6,
826 const std::string& part7,
827 const std::string& part8,
828 const std::string& part9,
829 const std::string& part10
830);
831
849std::string Concat(
850 const std::string& part0,
851 const std::string& part1,
852 const std::string& part2,
853 const std::string& part3,
854 const std::string& part4,
855 const std::string& part5,
856 const std::string& part6,
857 const std::string& part7,
858 const std::string& part8,
859 const std::string& part9,
860 const std::string& part10,
861 const std::string& part11
862);
863
882std::string Concat(
883 const std::string& part0,
884 const std::string& part1,
885 const std::string& part2,
886 const std::string& part3,
887 const std::string& part4,
888 const std::string& part5,
889 const std::string& part6,
890 const std::string& part7,
891 const std::string& part8,
892 const std::string& part9,
893 const std::string& part10,
894 const std::string& part11,
895 const std::string& part12
896);
897
917std::string Concat(
918 const std::string& part0,
919 const std::string& part1,
920 const std::string& part2,
921 const std::string& part3,
922 const std::string& part4,
923 const std::string& part5,
924 const std::string& part6,
925 const std::string& part7,
926 const std::string& part8,
927 const std::string& part9,
928 const std::string& part10,
929 const std::string& part11,
930 const std::string& part12,
931 const std::string& part13
932);
933
954std::string Concat(
955 const std::string& part0,
956 const std::string& part1,
957 const std::string& part2,
958 const std::string& part3,
959 const std::string& part4,
960 const std::string& part5,
961 const std::string& part6,
962 const std::string& part7,
963 const std::string& part8,
964 const std::string& part9,
965 const std::string& part10,
966 const std::string& part11,
967 const std::string& part12,
968 const std::string& part13,
969 const std::string& part14
970);
971
993std::string Concat(
994 const std::string& part0,
995 const std::string& part1,
996 const std::string& part2,
997 const std::string& part3,
998 const std::string& part4,
999 const std::string& part5,
1000 const std::string& part6,
1001 const std::string& part7,
1002 const std::string& part8,
1003 const std::string& part9,
1004 const std::string& part10,
1005 const std::string& part11,
1006 const std::string& part12,
1007 const std::string& part13,
1008 const std::string& part14,
1009 const std::string& part15
1010);
1011
1034std::string Concat(
1035 const std::string& part0,
1036 const std::string& part1,
1037 const std::string& part2,
1038 const std::string& part3,
1039 const std::string& part4,
1040 const std::string& part5,
1041 const std::string& part6,
1042 const std::string& part7,
1043 const std::string& part8,
1044 const std::string& part9,
1045 const std::string& part10,
1046 const std::string& part11,
1047 const std::string& part12,
1048 const std::string& part13,
1049 const std::string& part14,
1050 const std::string& part15,
1051 const std::string& part16
1052);
1053
1077std::string Concat(
1078 const std::string& part0,
1079 const std::string& part1,
1080 const std::string& part2,
1081 const std::string& part3,
1082 const std::string& part4,
1083 const std::string& part5,
1084 const std::string& part6,
1085 const std::string& part7,
1086 const std::string& part8,
1087 const std::string& part9,
1088 const std::string& part10,
1089 const std::string& part11,
1090 const std::string& part12,
1091 const std::string& part13,
1092 const std::string& part14,
1093 const std::string& part15,
1094 const std::string& part16,
1095 const std::string& part17
1096);
1097
1122std::string Concat(
1123 const std::string& part0,
1124 const std::string& part1,
1125 const std::string& part2,
1126 const std::string& part3,
1127 const std::string& part4,
1128 const std::string& part5,
1129 const std::string& part6,
1130 const std::string& part7,
1131 const std::string& part8,
1132 const std::string& part9,
1133 const std::string& part10,
1134 const std::string& part11,
1135 const std::string& part12,
1136 const std::string& part13,
1137 const std::string& part14,
1138 const std::string& part15,
1139 const std::string& part16,
1140 const std::string& part17,
1141 const std::string& part18
1142);
1143
1169std::string Concat(
1170 const std::string& part0,
1171 const std::string& part1,
1172 const std::string& part2,
1173 const std::string& part3,
1174 const std::string& part4,
1175 const std::string& part5,
1176 const std::string& part6,
1177 const std::string& part7,
1178 const std::string& part8,
1179 const std::string& part9,
1180 const std::string& part10,
1181 const std::string& part11,
1182 const std::string& part12,
1183 const std::string& part13,
1184 const std::string& part14,
1185 const std::string& part15,
1186 const std::string& part16,
1187 const std::string& part17,
1188 const std::string& part18,
1189 const std::string& part19
1190);
1191
1218std::string Concat(
1219 const std::string& part0,
1220 const std::string& part1,
1221 const std::string& part2,
1222 const std::string& part3,
1223 const std::string& part4,
1224 const std::string& part5,
1225 const std::string& part6,
1226 const std::string& part7,
1227 const std::string& part8,
1228 const std::string& part9,
1229 const std::string& part10,
1230 const std::string& part11,
1231 const std::string& part12,
1232 const std::string& part13,
1233 const std::string& part14,
1234 const std::string& part15,
1235 const std::string& part16,
1236 const std::string& part17,
1237 const std::string& part18,
1238 const std::string& part19,
1239 const std::string& part20
1240);
1241
1269std::string Concat(
1270 const std::string& part0,
1271 const std::string& part1,
1272 const std::string& part2,
1273 const std::string& part3,
1274 const std::string& part4,
1275 const std::string& part5,
1276 const std::string& part6,
1277 const std::string& part7,
1278 const std::string& part8,
1279 const std::string& part9,
1280 const std::string& part10,
1281 const std::string& part11,
1282 const std::string& part12,
1283 const std::string& part13,
1284 const std::string& part14,
1285 const std::string& part15,
1286 const std::string& part16,
1287 const std::string& part17,
1288 const std::string& part18,
1289 const std::string& part19,
1290 const std::string& part20,
1291 const std::string& part21
1292);
1293
1322std::string Concat(
1323 const std::string& part0,
1324 const std::string& part1,
1325 const std::string& part2,
1326 const std::string& part3,
1327 const std::string& part4,
1328 const std::string& part5,
1329 const std::string& part6,
1330 const std::string& part7,
1331 const std::string& part8,
1332 const std::string& part9,
1333 const std::string& part10,
1334 const std::string& part11,
1335 const std::string& part12,
1336 const std::string& part13,
1337 const std::string& part14,
1338 const std::string& part15,
1339 const std::string& part16,
1340 const std::string& part17,
1341 const std::string& part18,
1342 const std::string& part19,
1343 const std::string& part20,
1344 const std::string& part21,
1345 const std::string& part22
1346);
1347
1377std::string Concat(
1378 const std::string& part0,
1379 const std::string& part1,
1380 const std::string& part2,
1381 const std::string& part3,
1382 const std::string& part4,
1383 const std::string& part5,
1384 const std::string& part6,
1385 const std::string& part7,
1386 const std::string& part8,
1387 const std::string& part9,
1388 const std::string& part10,
1389 const std::string& part11,
1390 const std::string& part12,
1391 const std::string& part13,
1392 const std::string& part14,
1393 const std::string& part15,
1394 const std::string& part16,
1395 const std::string& part17,
1396 const std::string& part18,
1397 const std::string& part19,
1398 const std::string& part20,
1399 const std::string& part21,
1400 const std::string& part22,
1401 const std::string& part23
1402);
1403
1434std::string Concat(
1435 const std::string& part0,
1436 const std::string& part1,
1437 const std::string& part2,
1438 const std::string& part3,
1439 const std::string& part4,
1440 const std::string& part5,
1441 const std::string& part6,
1442 const std::string& part7,
1443 const std::string& part8,
1444 const std::string& part9,
1445 const std::string& part10,
1446 const std::string& part11,
1447 const std::string& part12,
1448 const std::string& part13,
1449 const std::string& part14,
1450 const std::string& part15,
1451 const std::string& part16,
1452 const std::string& part17,
1453 const std::string& part18,
1454 const std::string& part19,
1455 const std::string& part20,
1456 const std::string& part21,
1457 const std::string& part22,
1458 const std::string& part23,
1459 const std::string& part24
1460);
1461
1493std::string Concat(
1494 const std::string& part0,
1495 const std::string& part1,
1496 const std::string& part2,
1497 const std::string& part3,
1498 const std::string& part4,
1499 const std::string& part5,
1500 const std::string& part6,
1501 const std::string& part7,
1502 const std::string& part8,
1503 const std::string& part9,
1504 const std::string& part10,
1505 const std::string& part11,
1506 const std::string& part12,
1507 const std::string& part13,
1508 const std::string& part14,
1509 const std::string& part15,
1510 const std::string& part16,
1511 const std::string& part17,
1512 const std::string& part18,
1513 const std::string& part19,
1514 const std::string& part20,
1515 const std::string& part21,
1516 const std::string& part22,
1517 const std::string& part23,
1518 const std::string& part24,
1519 const std::string& part25
1520);
1521
1554std::string Concat(
1555 const std::string& part0,
1556 const std::string& part1,
1557 const std::string& part2,
1558 const std::string& part3,
1559 const std::string& part4,
1560 const std::string& part5,
1561 const std::string& part6,
1562 const std::string& part7,
1563 const std::string& part8,
1564 const std::string& part9,
1565 const std::string& part10,
1566 const std::string& part11,
1567 const std::string& part12,
1568 const std::string& part13,
1569 const std::string& part14,
1570 const std::string& part15,
1571 const std::string& part16,
1572 const std::string& part17,
1573 const std::string& part18,
1574 const std::string& part19,
1575 const std::string& part20,
1576 const std::string& part21,
1577 const std::string& part22,
1578 const std::string& part23,
1579 const std::string& part24,
1580 const std::string& part25,
1581 const std::string& part26
1582);
1583
1617std::string Concat(
1618 const std::string& part0,
1619 const std::string& part1,
1620 const std::string& part2,
1621 const std::string& part3,
1622 const std::string& part4,
1623 const std::string& part5,
1624 const std::string& part6,
1625 const std::string& part7,
1626 const std::string& part8,
1627 const std::string& part9,
1628 const std::string& part10,
1629 const std::string& part11,
1630 const std::string& part12,
1631 const std::string& part13,
1632 const std::string& part14,
1633 const std::string& part15,
1634 const std::string& part16,
1635 const std::string& part17,
1636 const std::string& part18,
1637 const std::string& part19,
1638 const std::string& part20,
1639 const std::string& part21,
1640 const std::string& part22,
1641 const std::string& part23,
1642 const std::string& part24,
1643 const std::string& part25,
1644 const std::string& part26,
1645 const std::string& part27
1646);
1647
1682std::string Concat(
1683 const std::string& part0,
1684 const std::string& part1,
1685 const std::string& part2,
1686 const std::string& part3,
1687 const std::string& part4,
1688 const std::string& part5,
1689 const std::string& part6,
1690 const std::string& part7,
1691 const std::string& part8,
1692 const std::string& part9,
1693 const std::string& part10,
1694 const std::string& part11,
1695 const std::string& part12,
1696 const std::string& part13,
1697 const std::string& part14,
1698 const std::string& part15,
1699 const std::string& part16,
1700 const std::string& part17,
1701 const std::string& part18,
1702 const std::string& part19,
1703 const std::string& part20,
1704 const std::string& part21,
1705 const std::string& part22,
1706 const std::string& part23,
1707 const std::string& part24,
1708 const std::string& part25,
1709 const std::string& part26,
1710 const std::string& part27,
1711 const std::string& part28
1712);
1713
1749std::string Concat(
1750 const std::string& part0,
1751 const std::string& part1,
1752 const std::string& part2,
1753 const std::string& part3,
1754 const std::string& part4,
1755 const std::string& part5,
1756 const std::string& part6,
1757 const std::string& part7,
1758 const std::string& part8,
1759 const std::string& part9,
1760 const std::string& part10,
1761 const std::string& part11,
1762 const std::string& part12,
1763 const std::string& part13,
1764 const std::string& part14,
1765 const std::string& part15,
1766 const std::string& part16,
1767 const std::string& part17,
1768 const std::string& part18,
1769 const std::string& part19,
1770 const std::string& part20,
1771 const std::string& part21,
1772 const std::string& part22,
1773 const std::string& part23,
1774 const std::string& part24,
1775 const std::string& part25,
1776 const std::string& part26,
1777 const std::string& part27,
1778 const std::string& part28,
1779 const std::string& part29
1780);
1781
1818std::string Concat(
1819 const std::string& part0,
1820 const std::string& part1,
1821 const std::string& part2,
1822 const std::string& part3,
1823 const std::string& part4,
1824 const std::string& part5,
1825 const std::string& part6,
1826 const std::string& part7,
1827 const std::string& part8,
1828 const std::string& part9,
1829 const std::string& part10,
1830 const std::string& part11,
1831 const std::string& part12,
1832 const std::string& part13,
1833 const std::string& part14,
1834 const std::string& part15,
1835 const std::string& part16,
1836 const std::string& part17,
1837 const std::string& part18,
1838 const std::string& part19,
1839 const std::string& part20,
1840 const std::string& part21,
1841 const std::string& part22,
1842 const std::string& part23,
1843 const std::string& part24,
1844 const std::string& part25,
1845 const std::string& part26,
1846 const std::string& part27,
1847 const std::string& part28,
1848 const std::string& part29,
1849 const std::string& part30
1850);
1851
1889std::string Concat(
1890 const std::string& part0,
1891 const std::string& part1,
1892 const std::string& part2,
1893 const std::string& part3,
1894 const std::string& part4,
1895 const std::string& part5,
1896 const std::string& part6,
1897 const std::string& part7,
1898 const std::string& part8,
1899 const std::string& part9,
1900 const std::string& part10,
1901 const std::string& part11,
1902 const std::string& part12,
1903 const std::string& part13,
1904 const std::string& part14,
1905 const std::string& part15,
1906 const std::string& part16,
1907 const std::string& part17,
1908 const std::string& part18,
1909 const std::string& part19,
1910 const std::string& part20,
1911 const std::string& part21,
1912 const std::string& part22,
1913 const std::string& part23,
1914 const std::string& part24,
1915 const std::string& part25,
1916 const std::string& part26,
1917 const std::string& part27,
1918 const std::string& part28,
1919 const std::string& part29,
1920 const std::string& part30,
1921 const std::string& part31
1922);
1923
1962std::string Concat(
1963 const std::string& part0,
1964 const std::string& part1,
1965 const std::string& part2,
1966 const std::string& part3,
1967 const std::string& part4,
1968 const std::string& part5,
1969 const std::string& part6,
1970 const std::string& part7,
1971 const std::string& part8,
1972 const std::string& part9,
1973 const std::string& part10,
1974 const std::string& part11,
1975 const std::string& part12,
1976 const std::string& part13,
1977 const std::string& part14,
1978 const std::string& part15,
1979 const std::string& part16,
1980 const std::string& part17,
1981 const std::string& part18,
1982 const std::string& part19,
1983 const std::string& part20,
1984 const std::string& part21,
1985 const std::string& part22,
1986 const std::string& part23,
1987 const std::string& part24,
1988 const std::string& part25,
1989 const std::string& part26,
1990 const std::string& part27,
1991 const std::string& part28,
1992 const std::string& part29,
1993 const std::string& part30,
1994 const std::string& part31,
1995 const std::string& part32
1996);
1997
2037std::string Concat(
2038 const std::string& part0,
2039 const std::string& part1,
2040 const std::string& part2,
2041 const std::string& part3,
2042 const std::string& part4,
2043 const std::string& part5,
2044 const std::string& part6,
2045 const std::string& part7,
2046 const std::string& part8,
2047 const std::string& part9,
2048 const std::string& part10,
2049 const std::string& part11,
2050 const std::string& part12,
2051 const std::string& part13,
2052 const std::string& part14,
2053 const std::string& part15,
2054 const std::string& part16,
2055 const std::string& part17,
2056 const std::string& part18,
2057 const std::string& part19,
2058 const std::string& part20,
2059 const std::string& part21,
2060 const std::string& part22,
2061 const std::string& part23,
2062 const std::string& part24,
2063 const std::string& part25,
2064 const std::string& part26,
2065 const std::string& part27,
2066 const std::string& part28,
2067 const std::string& part29,
2068 const std::string& part30,
2069 const std::string& part31,
2070 const std::string& part32,
2071 const std::string& part33
2072);
2073
2114std::string Concat(
2115 const std::string& part0,
2116 const std::string& part1,
2117 const std::string& part2,
2118 const std::string& part3,
2119 const std::string& part4,
2120 const std::string& part5,
2121 const std::string& part6,
2122 const std::string& part7,
2123 const std::string& part8,
2124 const std::string& part9,
2125 const std::string& part10,
2126 const std::string& part11,
2127 const std::string& part12,
2128 const std::string& part13,
2129 const std::string& part14,
2130 const std::string& part15,
2131 const std::string& part16,
2132 const std::string& part17,
2133 const std::string& part18,
2134 const std::string& part19,
2135 const std::string& part20,
2136 const std::string& part21,
2137 const std::string& part22,
2138 const std::string& part23,
2139 const std::string& part24,
2140 const std::string& part25,
2141 const std::string& part26,
2142 const std::string& part27,
2143 const std::string& part28,
2144 const std::string& part29,
2145 const std::string& part30,
2146 const std::string& part31,
2147 const std::string& part32,
2148 const std::string& part33,
2149 const std::string& part34
2150);
2151
2193std::string Concat(
2194 const std::string& part0,
2195 const std::string& part1,
2196 const std::string& part2,
2197 const std::string& part3,
2198 const std::string& part4,
2199 const std::string& part5,
2200 const std::string& part6,
2201 const std::string& part7,
2202 const std::string& part8,
2203 const std::string& part9,
2204 const std::string& part10,
2205 const std::string& part11,
2206 const std::string& part12,
2207 const std::string& part13,
2208 const std::string& part14,
2209 const std::string& part15,
2210 const std::string& part16,
2211 const std::string& part17,
2212 const std::string& part18,
2213 const std::string& part19,
2214 const std::string& part20,
2215 const std::string& part21,
2216 const std::string& part22,
2217 const std::string& part23,
2218 const std::string& part24,
2219 const std::string& part25,
2220 const std::string& part26,
2221 const std::string& part27,
2222 const std::string& part28,
2223 const std::string& part29,
2224 const std::string& part30,
2225 const std::string& part31,
2226 const std::string& part32,
2227 const std::string& part33,
2228 const std::string& part34,
2229 const std::string& part35
2230);
2231
2274std::string Concat(
2275 const std::string& part0,
2276 const std::string& part1,
2277 const std::string& part2,
2278 const std::string& part3,
2279 const std::string& part4,
2280 const std::string& part5,
2281 const std::string& part6,
2282 const std::string& part7,
2283 const std::string& part8,
2284 const std::string& part9,
2285 const std::string& part10,
2286 const std::string& part11,
2287 const std::string& part12,
2288 const std::string& part13,
2289 const std::string& part14,
2290 const std::string& part15,
2291 const std::string& part16,
2292 const std::string& part17,
2293 const std::string& part18,
2294 const std::string& part19,
2295 const std::string& part20,
2296 const std::string& part21,
2297 const std::string& part22,
2298 const std::string& part23,
2299 const std::string& part24,
2300 const std::string& part25,
2301 const std::string& part26,
2302 const std::string& part27,
2303 const std::string& part28,
2304 const std::string& part29,
2305 const std::string& part30,
2306 const std::string& part31,
2307 const std::string& part32,
2308 const std::string& part33,
2309 const std::string& part34,
2310 const std::string& part35,
2311 const std::string& part36
2312);
2313
2357std::string Concat(
2358 const std::string& part0,
2359 const std::string& part1,
2360 const std::string& part2,
2361 const std::string& part3,
2362 const std::string& part4,
2363 const std::string& part5,
2364 const std::string& part6,
2365 const std::string& part7,
2366 const std::string& part8,
2367 const std::string& part9,
2368 const std::string& part10,
2369 const std::string& part11,
2370 const std::string& part12,
2371 const std::string& part13,
2372 const std::string& part14,
2373 const std::string& part15,
2374 const std::string& part16,
2375 const std::string& part17,
2376 const std::string& part18,
2377 const std::string& part19,
2378 const std::string& part20,
2379 const std::string& part21,
2380 const std::string& part22,
2381 const std::string& part23,
2382 const std::string& part24,
2383 const std::string& part25,
2384 const std::string& part26,
2385 const std::string& part27,
2386 const std::string& part28,
2387 const std::string& part29,
2388 const std::string& part30,
2389 const std::string& part31,
2390 const std::string& part32,
2391 const std::string& part33,
2392 const std::string& part34,
2393 const std::string& part35,
2394 const std::string& part36,
2395 const std::string& part37
2396);
2397
2442std::string Concat(
2443 const std::string& part0,
2444 const std::string& part1,
2445 const std::string& part2,
2446 const std::string& part3,
2447 const std::string& part4,
2448 const std::string& part5,
2449 const std::string& part6,
2450 const std::string& part7,
2451 const std::string& part8,
2452 const std::string& part9,
2453 const std::string& part10,
2454 const std::string& part11,
2455 const std::string& part12,
2456 const std::string& part13,
2457 const std::string& part14,
2458 const std::string& part15,
2459 const std::string& part16,
2460 const std::string& part17,
2461 const std::string& part18,
2462 const std::string& part19,
2463 const std::string& part20,
2464 const std::string& part21,
2465 const std::string& part22,
2466 const std::string& part23,
2467 const std::string& part24,
2468 const std::string& part25,
2469 const std::string& part26,
2470 const std::string& part27,
2471 const std::string& part28,
2472 const std::string& part29,
2473 const std::string& part30,
2474 const std::string& part31,
2475 const std::string& part32,
2476 const std::string& part33,
2477 const std::string& part34,
2478 const std::string& part35,
2479 const std::string& part36,
2480 const std::string& part37,
2481 const std::string& part38
2482);
2483
2529std::string Concat(
2530 const std::string& part0,
2531 const std::string& part1,
2532 const std::string& part2,
2533 const std::string& part3,
2534 const std::string& part4,
2535 const std::string& part5,
2536 const std::string& part6,
2537 const std::string& part7,
2538 const std::string& part8,
2539 const std::string& part9,
2540 const std::string& part10,
2541 const std::string& part11,
2542 const std::string& part12,
2543 const std::string& part13,
2544 const std::string& part14,
2545 const std::string& part15,
2546 const std::string& part16,
2547 const std::string& part17,
2548 const std::string& part18,
2549 const std::string& part19,
2550 const std::string& part20,
2551 const std::string& part21,
2552 const std::string& part22,
2553 const std::string& part23,
2554 const std::string& part24,
2555 const std::string& part25,
2556 const std::string& part26,
2557 const std::string& part27,
2558 const std::string& part28,
2559 const std::string& part29,
2560 const std::string& part30,
2561 const std::string& part31,
2562 const std::string& part32,
2563 const std::string& part33,
2564 const std::string& part34,
2565 const std::string& part35,
2566 const std::string& part36,
2567 const std::string& part37,
2568 const std::string& part38,
2569 const std::string& part39
2570);
2571
2618std::string Concat(
2619 const std::string& part0,
2620 const std::string& part1,
2621 const std::string& part2,
2622 const std::string& part3,
2623 const std::string& part4,
2624 const std::string& part5,
2625 const std::string& part6,
2626 const std::string& part7,
2627 const std::string& part8,
2628 const std::string& part9,
2629 const std::string& part10,
2630 const std::string& part11,
2631 const std::string& part12,
2632 const std::string& part13,
2633 const std::string& part14,
2634 const std::string& part15,
2635 const std::string& part16,
2636 const std::string& part17,
2637 const std::string& part18,
2638 const std::string& part19,
2639 const std::string& part20,
2640 const std::string& part21,
2641 const std::string& part22,
2642 const std::string& part23,
2643 const std::string& part24,
2644 const std::string& part25,
2645 const std::string& part26,
2646 const std::string& part27,
2647 const std::string& part28,
2648 const std::string& part29,
2649 const std::string& part30,
2650 const std::string& part31,
2651 const std::string& part32,
2652 const std::string& part33,
2653 const std::string& part34,
2654 const std::string& part35,
2655 const std::string& part36,
2656 const std::string& part37,
2657 const std::string& part38,
2658 const std::string& part39,
2659 const std::string& part40
2660);
2661
2709std::string Concat(
2710 const std::string& part0,
2711 const std::string& part1,
2712 const std::string& part2,
2713 const std::string& part3,
2714 const std::string& part4,
2715 const std::string& part5,
2716 const std::string& part6,
2717 const std::string& part7,
2718 const std::string& part8,
2719 const std::string& part9,
2720 const std::string& part10,
2721 const std::string& part11,
2722 const std::string& part12,
2723 const std::string& part13,
2724 const std::string& part14,
2725 const std::string& part15,
2726 const std::string& part16,
2727 const std::string& part17,
2728 const std::string& part18,
2729 const std::string& part19,
2730 const std::string& part20,
2731 const std::string& part21,
2732 const std::string& part22,
2733 const std::string& part23,
2734 const std::string& part24,
2735 const std::string& part25,
2736 const std::string& part26,
2737 const std::string& part27,
2738 const std::string& part28,
2739 const std::string& part29,
2740 const std::string& part30,
2741 const std::string& part31,
2742 const std::string& part32,
2743 const std::string& part33,
2744 const std::string& part34,
2745 const std::string& part35,
2746 const std::string& part36,
2747 const std::string& part37,
2748 const std::string& part38,
2749 const std::string& part39,
2750 const std::string& part40,
2751 const std::string& part41
2752);
2753
2802std::string Concat(
2803 const std::string& part0,
2804 const std::string& part1,
2805 const std::string& part2,
2806 const std::string& part3,
2807 const std::string& part4,
2808 const std::string& part5,
2809 const std::string& part6,
2810 const std::string& part7,
2811 const std::string& part8,
2812 const std::string& part9,
2813 const std::string& part10,
2814 const std::string& part11,
2815 const std::string& part12,
2816 const std::string& part13,
2817 const std::string& part14,
2818 const std::string& part15,
2819 const std::string& part16,
2820 const std::string& part17,
2821 const std::string& part18,
2822 const std::string& part19,
2823 const std::string& part20,
2824 const std::string& part21,
2825 const std::string& part22,
2826 const std::string& part23,
2827 const std::string& part24,
2828 const std::string& part25,
2829 const std::string& part26,
2830 const std::string& part27,
2831 const std::string& part28,
2832 const std::string& part29,
2833 const std::string& part30,
2834 const std::string& part31,
2835 const std::string& part32,
2836 const std::string& part33,
2837 const std::string& part34,
2838 const std::string& part35,
2839 const std::string& part36,
2840 const std::string& part37,
2841 const std::string& part38,
2842 const std::string& part39,
2843 const std::string& part40,
2844 const std::string& part41,
2845 const std::string& part42
2846);
2847
2897std::string Concat(
2898 const std::string& part0,
2899 const std::string& part1,
2900 const std::string& part2,
2901 const std::string& part3,
2902 const std::string& part4,
2903 const std::string& part5,
2904 const std::string& part6,
2905 const std::string& part7,
2906 const std::string& part8,
2907 const std::string& part9,
2908 const std::string& part10,
2909 const std::string& part11,
2910 const std::string& part12,
2911 const std::string& part13,
2912 const std::string& part14,
2913 const std::string& part15,
2914 const std::string& part16,
2915 const std::string& part17,
2916 const std::string& part18,
2917 const std::string& part19,
2918 const std::string& part20,
2919 const std::string& part21,
2920 const std::string& part22,
2921 const std::string& part23,
2922 const std::string& part24,
2923 const std::string& part25,
2924 const std::string& part26,
2925 const std::string& part27,
2926 const std::string& part28,
2927 const std::string& part29,
2928 const std::string& part30,
2929 const std::string& part31,
2930 const std::string& part32,
2931 const std::string& part33,
2932 const std::string& part34,
2933 const std::string& part35,
2934 const std::string& part36,
2935 const std::string& part37,
2936 const std::string& part38,
2937 const std::string& part39,
2938 const std::string& part40,
2939 const std::string& part41,
2940 const std::string& part42,
2941 const std::string& part43
2942);
2943
2994std::string Concat(
2995 const std::string& part0,
2996 const std::string& part1,
2997 const std::string& part2,
2998 const std::string& part3,
2999 const std::string& part4,
3000 const std::string& part5,
3001 const std::string& part6,
3002 const std::string& part7,
3003 const std::string& part8,
3004 const std::string& part9,
3005 const std::string& part10,
3006 const std::string& part11,
3007 const std::string& part12,
3008 const std::string& part13,
3009 const std::string& part14,
3010 const std::string& part15,
3011 const std::string& part16,
3012 const std::string& part17,
3013 const std::string& part18,
3014 const std::string& part19,
3015 const std::string& part20,
3016 const std::string& part21,
3017 const std::string& part22,
3018 const std::string& part23,
3019 const std::string& part24,
3020 const std::string& part25,
3021 const std::string& part26,
3022 const std::string& part27,
3023 const std::string& part28,
3024 const std::string& part29,
3025 const std::string& part30,
3026 const std::string& part31,
3027 const std::string& part32,
3028 const std::string& part33,
3029 const std::string& part34,
3030 const std::string& part35,
3031 const std::string& part36,
3032 const std::string& part37,
3033 const std::string& part38,
3034 const std::string& part39,
3035 const std::string& part40,
3036 const std::string& part41,
3037 const std::string& part42,
3038 const std::string& part43,
3039 const std::string& part44
3040);
3041
3093std::string Concat(
3094 const std::string& part0,
3095 const std::string& part1,
3096 const std::string& part2,
3097 const std::string& part3,
3098 const std::string& part4,
3099 const std::string& part5,
3100 const std::string& part6,
3101 const std::string& part7,
3102 const std::string& part8,
3103 const std::string& part9,
3104 const std::string& part10,
3105 const std::string& part11,
3106 const std::string& part12,
3107 const std::string& part13,
3108 const std::string& part14,
3109 const std::string& part15,
3110 const std::string& part16,
3111 const std::string& part17,
3112 const std::string& part18,
3113 const std::string& part19,
3114 const std::string& part20,
3115 const std::string& part21,
3116 const std::string& part22,
3117 const std::string& part23,
3118 const std::string& part24,
3119 const std::string& part25,
3120 const std::string& part26,
3121 const std::string& part27,
3122 const std::string& part28,
3123 const std::string& part29,
3124 const std::string& part30,
3125 const std::string& part31,
3126 const std::string& part32,
3127 const std::string& part33,
3128 const std::string& part34,
3129 const std::string& part35,
3130 const std::string& part36,
3131 const std::string& part37,
3132 const std::string& part38,
3133 const std::string& part39,
3134 const std::string& part40,
3135 const std::string& part41,
3136 const std::string& part42,
3137 const std::string& part43,
3138 const std::string& part44,
3139 const std::string& part45
3140);
3141
3194std::string Concat(
3195 const std::string& part0,
3196 const std::string& part1,
3197 const std::string& part2,
3198 const std::string& part3,
3199 const std::string& part4,
3200 const std::string& part5,
3201 const std::string& part6,
3202 const std::string& part7,
3203 const std::string& part8,
3204 const std::string& part9,
3205 const std::string& part10,
3206 const std::string& part11,
3207 const std::string& part12,
3208 const std::string& part13,
3209 const std::string& part14,
3210 const std::string& part15,
3211 const std::string& part16,
3212 const std::string& part17,
3213 const std::string& part18,
3214 const std::string& part19,
3215 const std::string& part20,
3216 const std::string& part21,
3217 const std::string& part22,
3218 const std::string& part23,
3219 const std::string& part24,
3220 const std::string& part25,
3221 const std::string& part26,
3222 const std::string& part27,
3223 const std::string& part28,
3224 const std::string& part29,
3225 const std::string& part30,
3226 const std::string& part31,
3227 const std::string& part32,
3228 const std::string& part33,
3229 const std::string& part34,
3230 const std::string& part35,
3231 const std::string& part36,
3232 const std::string& part37,
3233 const std::string& part38,
3234 const std::string& part39,
3235 const std::string& part40,
3236 const std::string& part41,
3237 const std::string& part42,
3238 const std::string& part43,
3239 const std::string& part44,
3240 const std::string& part45,
3241 const std::string& part46
3242);
3243
3297std::string Concat(
3298 const std::string& part0,
3299 const std::string& part1,
3300 const std::string& part2,
3301 const std::string& part3,
3302 const std::string& part4,
3303 const std::string& part5,
3304 const std::string& part6,
3305 const std::string& part7,
3306 const std::string& part8,
3307 const std::string& part9,
3308 const std::string& part10,
3309 const std::string& part11,
3310 const std::string& part12,
3311 const std::string& part13,
3312 const std::string& part14,
3313 const std::string& part15,
3314 const std::string& part16,
3315 const std::string& part17,
3316 const std::string& part18,
3317 const std::string& part19,
3318 const std::string& part20,
3319 const std::string& part21,
3320 const std::string& part22,
3321 const std::string& part23,
3322 const std::string& part24,
3323 const std::string& part25,
3324 const std::string& part26,
3325 const std::string& part27,
3326 const std::string& part28,
3327 const std::string& part29,
3328 const std::string& part30,
3329 const std::string& part31,
3330 const std::string& part32,
3331 const std::string& part33,
3332 const std::string& part34,
3333 const std::string& part35,
3334 const std::string& part36,
3335 const std::string& part37,
3336 const std::string& part38,
3337 const std::string& part39,
3338 const std::string& part40,
3339 const std::string& part41,
3340 const std::string& part42,
3341 const std::string& part43,
3342 const std::string& part44,
3343 const std::string& part45,
3344 const std::string& part46,
3345 const std::string& part47
3346);
3347
3402std::string Concat(
3403 const std::string& part0,
3404 const std::string& part1,
3405 const std::string& part2,
3406 const std::string& part3,
3407 const std::string& part4,
3408 const std::string& part5,
3409 const std::string& part6,
3410 const std::string& part7,
3411 const std::string& part8,
3412 const std::string& part9,
3413 const std::string& part10,
3414 const std::string& part11,
3415 const std::string& part12,
3416 const std::string& part13,
3417 const std::string& part14,
3418 const std::string& part15,
3419 const std::string& part16,
3420 const std::string& part17,
3421 const std::string& part18,
3422 const std::string& part19,
3423 const std::string& part20,
3424 const std::string& part21,
3425 const std::string& part22,
3426 const std::string& part23,
3427 const std::string& part24,
3428 const std::string& part25,
3429 const std::string& part26,
3430 const std::string& part27,
3431 const std::string& part28,
3432 const std::string& part29,
3433 const std::string& part30,
3434 const std::string& part31,
3435 const std::string& part32,
3436 const std::string& part33,
3437 const std::string& part34,
3438 const std::string& part35,
3439 const std::string& part36,
3440 const std::string& part37,
3441 const std::string& part38,
3442 const std::string& part39,
3443 const std::string& part40,
3444 const std::string& part41,
3445 const std::string& part42,
3446 const std::string& part43,
3447 const std::string& part44,
3448 const std::string& part45,
3449 const std::string& part46,
3450 const std::string& part47,
3451 const std::string& part48
3452);
3453
3509std::string Concat(
3510 const std::string& part0,
3511 const std::string& part1,
3512 const std::string& part2,
3513 const std::string& part3,
3514 const std::string& part4,
3515 const std::string& part5,
3516 const std::string& part6,
3517 const std::string& part7,
3518 const std::string& part8,
3519 const std::string& part9,
3520 const std::string& part10,
3521 const std::string& part11,
3522 const std::string& part12,
3523 const std::string& part13,
3524 const std::string& part14,
3525 const std::string& part15,
3526 const std::string& part16,
3527 const std::string& part17,
3528 const std::string& part18,
3529 const std::string& part19,
3530 const std::string& part20,
3531 const std::string& part21,
3532 const std::string& part22,
3533 const std::string& part23,
3534 const std::string& part24,
3535 const std::string& part25,
3536 const std::string& part26,
3537 const std::string& part27,
3538 const std::string& part28,
3539 const std::string& part29,
3540 const std::string& part30,
3541 const std::string& part31,
3542 const std::string& part32,
3543 const std::string& part33,
3544 const std::string& part34,
3545 const std::string& part35,
3546 const std::string& part36,
3547 const std::string& part37,
3548 const std::string& part38,
3549 const std::string& part39,
3550 const std::string& part40,
3551 const std::string& part41,
3552 const std::string& part42,
3553 const std::string& part43,
3554 const std::string& part44,
3555 const std::string& part45,
3556 const std::string& part46,
3557 const std::string& part47,
3558 const std::string& part48,
3559 const std::string& part49
3560);
3561
3618std::string Concat(
3619 const std::string& part0,
3620 const std::string& part1,
3621 const std::string& part2,
3622 const std::string& part3,
3623 const std::string& part4,
3624 const std::string& part5,
3625 const std::string& part6,
3626 const std::string& part7,
3627 const std::string& part8,
3628 const std::string& part9,
3629 const std::string& part10,
3630 const std::string& part11,
3631 const std::string& part12,
3632 const std::string& part13,
3633 const std::string& part14,
3634 const std::string& part15,
3635 const std::string& part16,
3636 const std::string& part17,
3637 const std::string& part18,
3638 const std::string& part19,
3639 const std::string& part20,
3640 const std::string& part21,
3641 const std::string& part22,
3642 const std::string& part23,
3643 const std::string& part24,
3644 const std::string& part25,
3645 const std::string& part26,
3646 const std::string& part27,
3647 const std::string& part28,
3648 const std::string& part29,
3649 const std::string& part30,
3650 const std::string& part31,
3651 const std::string& part32,
3652 const std::string& part33,
3653 const std::string& part34,
3654 const std::string& part35,
3655 const std::string& part36,
3656 const std::string& part37,
3657 const std::string& part38,
3658 const std::string& part39,
3659 const std::string& part40,
3660 const std::string& part41,
3661 const std::string& part42,
3662 const std::string& part43,
3663 const std::string& part44,
3664 const std::string& part45,
3665 const std::string& part46,
3666 const std::string& part47,
3667 const std::string& part48,
3668 const std::string& part49,
3669 const std::string& part50
3670);
3671
3729std::string Concat(
3730 const std::string& part0,
3731 const std::string& part1,
3732 const std::string& part2,
3733 const std::string& part3,
3734 const std::string& part4,
3735 const std::string& part5,
3736 const std::string& part6,
3737 const std::string& part7,
3738 const std::string& part8,
3739 const std::string& part9,
3740 const std::string& part10,
3741 const std::string& part11,
3742 const std::string& part12,
3743 const std::string& part13,
3744 const std::string& part14,
3745 const std::string& part15,
3746 const std::string& part16,
3747 const std::string& part17,
3748 const std::string& part18,
3749 const std::string& part19,
3750 const std::string& part20,
3751 const std::string& part21,
3752 const std::string& part22,
3753 const std::string& part23,
3754 const std::string& part24,
3755 const std::string& part25,
3756 const std::string& part26,
3757 const std::string& part27,
3758 const std::string& part28,
3759 const std::string& part29,
3760 const std::string& part30,
3761 const std::string& part31,
3762 const std::string& part32,
3763 const std::string& part33,
3764 const std::string& part34,
3765 const std::string& part35,
3766 const std::string& part36,
3767 const std::string& part37,
3768 const std::string& part38,
3769 const std::string& part39,
3770 const std::string& part40,
3771 const std::string& part41,
3772 const std::string& part42,
3773 const std::string& part43,
3774 const std::string& part44,
3775 const std::string& part45,
3776 const std::string& part46,
3777 const std::string& part47,
3778 const std::string& part48,
3779 const std::string& part49,
3780 const std::string& part50,
3781 const std::string& part51
3782);
3783
3842std::string Concat(
3843 const std::string& part0,
3844 const std::string& part1,
3845 const std::string& part2,
3846 const std::string& part3,
3847 const std::string& part4,
3848 const std::string& part5,
3849 const std::string& part6,
3850 const std::string& part7,
3851 const std::string& part8,
3852 const std::string& part9,
3853 const std::string& part10,
3854 const std::string& part11,
3855 const std::string& part12,
3856 const std::string& part13,
3857 const std::string& part14,
3858 const std::string& part15,
3859 const std::string& part16,
3860 const std::string& part17,
3861 const std::string& part18,
3862 const std::string& part19,
3863 const std::string& part20,
3864 const std::string& part21,
3865 const std::string& part22,
3866 const std::string& part23,
3867 const std::string& part24,
3868 const std::string& part25,
3869 const std::string& part26,
3870 const std::string& part27,
3871 const std::string& part28,
3872 const std::string& part29,
3873 const std::string& part30,
3874 const std::string& part31,
3875 const std::string& part32,
3876 const std::string& part33,
3877 const std::string& part34,
3878 const std::string& part35,
3879 const std::string& part36,
3880 const std::string& part37,
3881 const std::string& part38,
3882 const std::string& part39,
3883 const std::string& part40,
3884 const std::string& part41,
3885 const std::string& part42,
3886 const std::string& part43,
3887 const std::string& part44,
3888 const std::string& part45,
3889 const std::string& part46,
3890 const std::string& part47,
3891 const std::string& part48,
3892 const std::string& part49,
3893 const std::string& part50,
3894 const std::string& part51,
3895 const std::string& part52
3896);
3897
3957std::string Concat(
3958 const std::string& part0,
3959 const std::string& part1,
3960 const std::string& part2,
3961 const std::string& part3,
3962 const std::string& part4,
3963 const std::string& part5,
3964 const std::string& part6,
3965 const std::string& part7,
3966 const std::string& part8,
3967 const std::string& part9,
3968 const std::string& part10,
3969 const std::string& part11,
3970 const std::string& part12,
3971 const std::string& part13,
3972 const std::string& part14,
3973 const std::string& part15,
3974 const std::string& part16,
3975 const std::string& part17,
3976 const std::string& part18,
3977 const std::string& part19,
3978 const std::string& part20,
3979 const std::string& part21,
3980 const std::string& part22,
3981 const std::string& part23,
3982 const std::string& part24,
3983 const std::string& part25,
3984 const std::string& part26,
3985 const std::string& part27,
3986 const std::string& part28,
3987 const std::string& part29,
3988 const std::string& part30,
3989 const std::string& part31,
3990 const std::string& part32,
3991 const std::string& part33,
3992 const std::string& part34,
3993 const std::string& part35,
3994 const std::string& part36,
3995 const std::string& part37,
3996 const std::string& part38,
3997 const std::string& part39,
3998 const std::string& part40,
3999 const std::string& part41,
4000 const std::string& part42,
4001 const std::string& part43,
4002 const std::string& part44,
4003 const std::string& part45,
4004 const std::string& part46,
4005 const std::string& part47,
4006 const std::string& part48,
4007 const std::string& part49,
4008 const std::string& part50,
4009 const std::string& part51,
4010 const std::string& part52,
4011 const std::string& part53
4012);
4013
4074std::string Concat(
4075 const std::string& part0,
4076 const std::string& part1,
4077 const std::string& part2,
4078 const std::string& part3,
4079 const std::string& part4,
4080 const std::string& part5,
4081 const std::string& part6,
4082 const std::string& part7,
4083 const std::string& part8,
4084 const std::string& part9,
4085 const std::string& part10,
4086 const std::string& part11,
4087 const std::string& part12,
4088 const std::string& part13,
4089 const std::string& part14,
4090 const std::string& part15,
4091 const std::string& part16,
4092 const std::string& part17,
4093 const std::string& part18,
4094 const std::string& part19,
4095 const std::string& part20,
4096 const std::string& part21,
4097 const std::string& part22,
4098 const std::string& part23,
4099 const std::string& part24,
4100 const std::string& part25,
4101 const std::string& part26,
4102 const std::string& part27,
4103 const std::string& part28,
4104 const std::string& part29,
4105 const std::string& part30,
4106 const std::string& part31,
4107 const std::string& part32,
4108 const std::string& part33,
4109 const std::string& part34,
4110 const std::string& part35,
4111 const std::string& part36,
4112 const std::string& part37,
4113 const std::string& part38,
4114 const std::string& part39,
4115 const std::string& part40,
4116 const std::string& part41,
4117 const std::string& part42,
4118 const std::string& part43,
4119 const std::string& part44,
4120 const std::string& part45,
4121 const std::string& part46,
4122 const std::string& part47,
4123 const std::string& part48,
4124 const std::string& part49,
4125 const std::string& part50,
4126 const std::string& part51,
4127 const std::string& part52,
4128 const std::string& part53,
4129 const std::string& part54
4130);
4131
4193std::string Concat(
4194 const std::string& part0,
4195 const std::string& part1,
4196 const std::string& part2,
4197 const std::string& part3,
4198 const std::string& part4,
4199 const std::string& part5,
4200 const std::string& part6,
4201 const std::string& part7,
4202 const std::string& part8,
4203 const std::string& part9,
4204 const std::string& part10,
4205 const std::string& part11,
4206 const std::string& part12,
4207 const std::string& part13,
4208 const std::string& part14,
4209 const std::string& part15,
4210 const std::string& part16,
4211 const std::string& part17,
4212 const std::string& part18,
4213 const std::string& part19,
4214 const std::string& part20,
4215 const std::string& part21,
4216 const std::string& part22,
4217 const std::string& part23,
4218 const std::string& part24,
4219 const std::string& part25,
4220 const std::string& part26,
4221 const std::string& part27,
4222 const std::string& part28,
4223 const std::string& part29,
4224 const std::string& part30,
4225 const std::string& part31,
4226 const std::string& part32,
4227 const std::string& part33,
4228 const std::string& part34,
4229 const std::string& part35,
4230 const std::string& part36,
4231 const std::string& part37,
4232 const std::string& part38,
4233 const std::string& part39,
4234 const std::string& part40,
4235 const std::string& part41,
4236 const std::string& part42,
4237 const std::string& part43,
4238 const std::string& part44,
4239 const std::string& part45,
4240 const std::string& part46,
4241 const std::string& part47,
4242 const std::string& part48,
4243 const std::string& part49,
4244 const std::string& part50,
4245 const std::string& part51,
4246 const std::string& part52,
4247 const std::string& part53,
4248 const std::string& part54,
4249 const std::string& part55
4250);
4251
4314std::string Concat(
4315 const std::string& part0,
4316 const std::string& part1,
4317 const std::string& part2,
4318 const std::string& part3,
4319 const std::string& part4,
4320 const std::string& part5,
4321 const std::string& part6,
4322 const std::string& part7,
4323 const std::string& part8,
4324 const std::string& part9,
4325 const std::string& part10,
4326 const std::string& part11,
4327 const std::string& part12,
4328 const std::string& part13,
4329 const std::string& part14,
4330 const std::string& part15,
4331 const std::string& part16,
4332 const std::string& part17,
4333 const std::string& part18,
4334 const std::string& part19,
4335 const std::string& part20,
4336 const std::string& part21,
4337 const std::string& part22,
4338 const std::string& part23,
4339 const std::string& part24,
4340 const std::string& part25,
4341 const std::string& part26,
4342 const std::string& part27,
4343 const std::string& part28,
4344 const std::string& part29,
4345 const std::string& part30,
4346 const std::string& part31,
4347 const std::string& part32,
4348 const std::string& part33,
4349 const std::string& part34,
4350 const std::string& part35,
4351 const std::string& part36,
4352 const std::string& part37,
4353 const std::string& part38,
4354 const std::string& part39,
4355 const std::string& part40,
4356 const std::string& part41,
4357 const std::string& part42,
4358 const std::string& part43,
4359 const std::string& part44,
4360 const std::string& part45,
4361 const std::string& part46,
4362 const std::string& part47,
4363 const std::string& part48,
4364 const std::string& part49,
4365 const std::string& part50,
4366 const std::string& part51,
4367 const std::string& part52,
4368 const std::string& part53,
4369 const std::string& part54,
4370 const std::string& part55,
4371 const std::string& part56
4372);
4373
4437std::string Concat(
4438 const std::string& part0,
4439 const std::string& part1,
4440 const std::string& part2,
4441 const std::string& part3,
4442 const std::string& part4,
4443 const std::string& part5,
4444 const std::string& part6,
4445 const std::string& part7,
4446 const std::string& part8,
4447 const std::string& part9,
4448 const std::string& part10,
4449 const std::string& part11,
4450 const std::string& part12,
4451 const std::string& part13,
4452 const std::string& part14,
4453 const std::string& part15,
4454 const std::string& part16,
4455 const std::string& part17,
4456 const std::string& part18,
4457 const std::string& part19,
4458 const std::string& part20,
4459 const std::string& part21,
4460 const std::string& part22,
4461 const std::string& part23,
4462 const std::string& part24,
4463 const std::string& part25,
4464 const std::string& part26,
4465 const std::string& part27,
4466 const std::string& part28,
4467 const std::string& part29,
4468 const std::string& part30,
4469 const std::string& part31,
4470 const std::string& part32,
4471 const std::string& part33,
4472 const std::string& part34,
4473 const std::string& part35,
4474 const std::string& part36,
4475 const std::string& part37,
4476 const std::string& part38,
4477 const std::string& part39,
4478 const std::string& part40,
4479 const std::string& part41,
4480 const std::string& part42,
4481 const std::string& part43,
4482 const std::string& part44,
4483 const std::string& part45,
4484 const std::string& part46,
4485 const std::string& part47,
4486 const std::string& part48,
4487 const std::string& part49,
4488 const std::string& part50,
4489 const std::string& part51,
4490 const std::string& part52,
4491 const std::string& part53,
4492 const std::string& part54,
4493 const std::string& part55,
4494 const std::string& part56,
4495 const std::string& part57
4496);
4497
4562std::string Concat(
4563 const std::string& part0,
4564 const std::string& part1,
4565 const std::string& part2,
4566 const std::string& part3,
4567 const std::string& part4,
4568 const std::string& part5,
4569 const std::string& part6,
4570 const std::string& part7,
4571 const std::string& part8,
4572 const std::string& part9,
4573 const std::string& part10,
4574 const std::string& part11,
4575 const std::string& part12,
4576 const std::string& part13,
4577 const std::string& part14,
4578 const std::string& part15,
4579 const std::string& part16,
4580 const std::string& part17,
4581 const std::string& part18,
4582 const std::string& part19,
4583 const std::string& part20,
4584 const std::string& part21,
4585 const std::string& part22,
4586 const std::string& part23,
4587 const std::string& part24,
4588 const std::string& part25,
4589 const std::string& part26,
4590 const std::string& part27,
4591 const std::string& part28,
4592 const std::string& part29,
4593 const std::string& part30,
4594 const std::string& part31,
4595 const std::string& part32,
4596 const std::string& part33,
4597 const std::string& part34,
4598 const std::string& part35,
4599 const std::string& part36,
4600 const std::string& part37,
4601 const std::string& part38,
4602 const std::string& part39,
4603 const std::string& part40,
4604 const std::string& part41,
4605 const std::string& part42,
4606 const std::string& part43,
4607 const std::string& part44,
4608 const std::string& part45,
4609 const std::string& part46,
4610 const std::string& part47,
4611 const std::string& part48,
4612 const std::string& part49,
4613 const std::string& part50,
4614 const std::string& part51,
4615 const std::string& part52,
4616 const std::string& part53,
4617 const std::string& part54,
4618 const std::string& part55,
4619 const std::string& part56,
4620 const std::string& part57,
4621 const std::string& part58
4622);
4623
4689std::string Concat(
4690 const std::string& part0,
4691 const std::string& part1,
4692 const std::string& part2,
4693 const std::string& part3,
4694 const std::string& part4,
4695 const std::string& part5,
4696 const std::string& part6,
4697 const std::string& part7,
4698 const std::string& part8,
4699 const std::string& part9,
4700 const std::string& part10,
4701 const std::string& part11,
4702 const std::string& part12,
4703 const std::string& part13,
4704 const std::string& part14,
4705 const std::string& part15,
4706 const std::string& part16,
4707 const std::string& part17,
4708 const std::string& part18,
4709 const std::string& part19,
4710 const std::string& part20,
4711 const std::string& part21,
4712 const std::string& part22,
4713 const std::string& part23,
4714 const std::string& part24,
4715 const std::string& part25,
4716 const std::string& part26,
4717 const std::string& part27,
4718 const std::string& part28,
4719 const std::string& part29,
4720 const std::string& part30,
4721 const std::string& part31,
4722 const std::string& part32,
4723 const std::string& part33,
4724 const std::string& part34,
4725 const std::string& part35,
4726 const std::string& part36,
4727 const std::string& part37,
4728 const std::string& part38,
4729 const std::string& part39,
4730 const std::string& part40,
4731 const std::string& part41,
4732 const std::string& part42,
4733 const std::string& part43,
4734 const std::string& part44,
4735 const std::string& part45,
4736 const std::string& part46,
4737 const std::string& part47,
4738 const std::string& part48,
4739 const std::string& part49,
4740 const std::string& part50,
4741 const std::string& part51,
4742 const std::string& part52,
4743 const std::string& part53,
4744 const std::string& part54,
4745 const std::string& part55,
4746 const std::string& part56,
4747 const std::string& part57,
4748 const std::string& part58,
4749 const std::string& part59
4750);
4751
4818std::string Concat(
4819 const std::string& part0,
4820 const std::string& part1,
4821 const std::string& part2,
4822 const std::string& part3,
4823 const std::string& part4,
4824 const std::string& part5,
4825 const std::string& part6,
4826 const std::string& part7,
4827 const std::string& part8,
4828 const std::string& part9,
4829 const std::string& part10,
4830 const std::string& part11,
4831 const std::string& part12,
4832 const std::string& part13,
4833 const std::string& part14,
4834 const std::string& part15,
4835 const std::string& part16,
4836 const std::string& part17,
4837 const std::string& part18,
4838 const std::string& part19,
4839 const std::string& part20,
4840 const std::string& part21,
4841 const std::string& part22,
4842 const std::string& part23,
4843 const std::string& part24,
4844 const std::string& part25,
4845 const std::string& part26,
4846 const std::string& part27,
4847 const std::string& part28,
4848 const std::string& part29,
4849 const std::string& part30,
4850 const std::string& part31,
4851 const std::string& part32,
4852 const std::string& part33,
4853 const std::string& part34,
4854 const std::string& part35,
4855 const std::string& part36,
4856 const std::string& part37,
4857 const std::string& part38,
4858 const std::string& part39,
4859 const std::string& part40,
4860 const std::string& part41,
4861 const std::string& part42,
4862 const std::string& part43,
4863 const std::string& part44,
4864 const std::string& part45,
4865 const std::string& part46,
4866 const std::string& part47,
4867 const std::string& part48,
4868 const std::string& part49,
4869 const std::string& part50,
4870 const std::string& part51,
4871 const std::string& part52,
4872 const std::string& part53,
4873 const std::string& part54,
4874 const std::string& part55,
4875 const std::string& part56,
4876 const std::string& part57,
4877 const std::string& part58,
4878 const std::string& part59,
4879 const std::string& part60
4880);
4881
4949std::string Concat(
4950 const std::string& part0,
4951 const std::string& part1,
4952 const std::string& part2,
4953 const std::string& part3,
4954 const std::string& part4,
4955 const std::string& part5,
4956 const std::string& part6,
4957 const std::string& part7,
4958 const std::string& part8,
4959 const std::string& part9,
4960 const std::string& part10,
4961 const std::string& part11,
4962 const std::string& part12,
4963 const std::string& part13,
4964 const std::string& part14,
4965 const std::string& part15,
4966 const std::string& part16,
4967 const std::string& part17,
4968 const std::string& part18,
4969 const std::string& part19,
4970 const std::string& part20,
4971 const std::string& part21,
4972 const std::string& part22,
4973 const std::string& part23,
4974 const std::string& part24,
4975 const std::string& part25,
4976 const std::string& part26,
4977 const std::string& part27,
4978 const std::string& part28,
4979 const std::string& part29,
4980 const std::string& part30,
4981 const std::string& part31,
4982 const std::string& part32,
4983 const std::string& part33,
4984 const std::string& part34,
4985 const std::string& part35,
4986 const std::string& part36,
4987 const std::string& part37,
4988 const std::string& part38,
4989 const std::string& part39,
4990 const std::string& part40,
4991 const std::string& part41,
4992 const std::string& part42,
4993 const std::string& part43,
4994 const std::string& part44,
4995 const std::string& part45,
4996 const std::string& part46,
4997 const std::string& part47,
4998 const std::string& part48,
4999 const std::string& part49,
5000 const std::string& part50,
5001 const std::string& part51,
5002 const std::string& part52,
5003 const std::string& part53,
5004 const std::string& part54,
5005 const std::string& part55,
5006 const std::string& part56,
5007 const std::string& part57,
5008 const std::string& part58,
5009 const std::string& part59,
5010 const std::string& part60,
5011 const std::string& part61
5012);
5013
5082std::string Concat(
5083 const std::string& part0,
5084 const std::string& part1,
5085 const std::string& part2,
5086 const std::string& part3,
5087 const std::string& part4,
5088 const std::string& part5,
5089 const std::string& part6,
5090 const std::string& part7,
5091 const std::string& part8,
5092 const std::string& part9,
5093 const std::string& part10,
5094 const std::string& part11,
5095 const std::string& part12,
5096 const std::string& part13,
5097 const std::string& part14,
5098 const std::string& part15,
5099 const std::string& part16,
5100 const std::string& part17,
5101 const std::string& part18,
5102 const std::string& part19,
5103 const std::string& part20,
5104 const std::string& part21,
5105 const std::string& part22,
5106 const std::string& part23,
5107 const std::string& part24,
5108 const std::string& part25,
5109 const std::string& part26,
5110 const std::string& part27,
5111 const std::string& part28,
5112 const std::string& part29,
5113 const std::string& part30,
5114 const std::string& part31,
5115 const std::string& part32,
5116 const std::string& part33,
5117 const std::string& part34,
5118 const std::string& part35,
5119 const std::string& part36,
5120 const std::string& part37,
5121 const std::string& part38,
5122 const std::string& part39,
5123 const std::string& part40,
5124 const std::string& part41,
5125 const std::string& part42,
5126 const std::string& part43,
5127 const std::string& part44,
5128 const std::string& part45,
5129 const std::string& part46,
5130 const std::string& part47,
5131 const std::string& part48,
5132 const std::string& part49,
5133 const std::string& part50,
5134 const std::string& part51,
5135 const std::string& part52,
5136 const std::string& part53,
5137 const std::string& part54,
5138 const std::string& part55,
5139 const std::string& part56,
5140 const std::string& part57,
5141 const std::string& part58,
5142 const std::string& part59,
5143 const std::string& part60,
5144 const std::string& part61,
5145 const std::string& part62
5146);
5147
5217std::string Concat(
5218 const std::string& part0,
5219 const std::string& part1,
5220 const std::string& part2,
5221 const std::string& part3,
5222 const std::string& part4,
5223 const std::string& part5,
5224 const std::string& part6,
5225 const std::string& part7,
5226 const std::string& part8,
5227 const std::string& part9,
5228 const std::string& part10,
5229 const std::string& part11,
5230 const std::string& part12,
5231 const std::string& part13,
5232 const std::string& part14,
5233 const std::string& part15,
5234 const std::string& part16,
5235 const std::string& part17,
5236 const std::string& part18,
5237 const std::string& part19,
5238 const std::string& part20,
5239 const std::string& part21,
5240 const std::string& part22,
5241 const std::string& part23,
5242 const std::string& part24,
5243 const std::string& part25,
5244 const std::string& part26,
5245 const std::string& part27,
5246 const std::string& part28,
5247 const std::string& part29,
5248 const std::string& part30,
5249 const std::string& part31,
5250 const std::string& part32,
5251 const std::string& part33,
5252 const std::string& part34,
5253 const std::string& part35,
5254 const std::string& part36,
5255 const std::string& part37,
5256 const std::string& part38,
5257 const std::string& part39,
5258 const std::string& part40,
5259 const std::string& part41,
5260 const std::string& part42,
5261 const std::string& part43,
5262 const std::string& part44,
5263 const std::string& part45,
5264 const std::string& part46,
5265 const std::string& part47,
5266 const std::string& part48,
5267 const std::string& part49,
5268 const std::string& part50,
5269 const std::string& part51,
5270 const std::string& part52,
5271 const std::string& part53,
5272 const std::string& part54,
5273 const std::string& part55,
5274 const std::string& part56,
5275 const std::string& part57,
5276 const std::string& part58,
5277 const std::string& part59,
5278 const std::string& part60,
5279 const std::string& part61,
5280 const std::string& part62,
5281 const std::string& part63
5282);
5283
5291std::wstring Concat(
5292 const std::wstring& part0,
5293 const std::wstring& part1
5294);
5295
5304std::wstring Concat(
5305 const std::wstring& part0,
5306 const std::wstring& part1,
5307 const std::wstring& part2
5308);
5309
5319std::wstring Concat(
5320 const std::wstring& part0,
5321 const std::wstring& part1,
5322 const std::wstring& part2,
5323 const std::wstring& part3
5324);
5325
5336std::wstring Concat(
5337 const std::wstring& part0,
5338 const std::wstring& part1,
5339 const std::wstring& part2,
5340 const std::wstring& part3,
5341 const std::wstring& part4
5342);
5343
5355std::wstring Concat(
5356 const std::wstring& part0,
5357 const std::wstring& part1,
5358 const std::wstring& part2,
5359 const std::wstring& part3,
5360 const std::wstring& part4,
5361 const std::wstring& part5
5362);
5363
5376std::wstring Concat(
5377 const std::wstring& part0,
5378 const std::wstring& part1,
5379 const std::wstring& part2,
5380 const std::wstring& part3,
5381 const std::wstring& part4,
5382 const std::wstring& part5,
5383 const std::wstring& part6
5384);
5385
5399std::wstring Concat(
5400 const std::wstring& part0,
5401 const std::wstring& part1,
5402 const std::wstring& part2,
5403 const std::wstring& part3,
5404 const std::wstring& part4,
5405 const std::wstring& part5,
5406 const std::wstring& part6,
5407 const std::wstring& part7
5408);
5409
5424std::wstring Concat(
5425 const std::wstring& part0,
5426 const std::wstring& part1,
5427 const std::wstring& part2,
5428 const std::wstring& part3,
5429 const std::wstring& part4,
5430 const std::wstring& part5,
5431 const std::wstring& part6,
5432 const std::wstring& part7,
5433 const std::wstring& part8
5434);
5435
5451std::wstring Concat(
5452 const std::wstring& part0,
5453 const std::wstring& part1,
5454 const std::wstring& part2,
5455 const std::wstring& part3,
5456 const std::wstring& part4,
5457 const std::wstring& part5,
5458 const std::wstring& part6,
5459 const std::wstring& part7,
5460 const std::wstring& part8,
5461 const std::wstring& part9
5462);
5463
5480std::wstring Concat(
5481 const std::wstring& part0,
5482 const std::wstring& part1,
5483 const std::wstring& part2,
5484 const std::wstring& part3,
5485 const std::wstring& part4,
5486 const std::wstring& part5,
5487 const std::wstring& part6,
5488 const std::wstring& part7,
5489 const std::wstring& part8,
5490 const std::wstring& part9,
5491 const std::wstring& part10
5492);
5493
5511std::wstring Concat(
5512 const std::wstring& part0,
5513 const std::wstring& part1,
5514 const std::wstring& part2,
5515 const std::wstring& part3,
5516 const std::wstring& part4,
5517 const std::wstring& part5,
5518 const std::wstring& part6,
5519 const std::wstring& part7,
5520 const std::wstring& part8,
5521 const std::wstring& part9,
5522 const std::wstring& part10,
5523 const std::wstring& part11
5524);
5525
5544std::wstring Concat(
5545 const std::wstring& part0,
5546 const std::wstring& part1,
5547 const std::wstring& part2,
5548 const std::wstring& part3,
5549 const std::wstring& part4,
5550 const std::wstring& part5,
5551 const std::wstring& part6,
5552 const std::wstring& part7,
5553 const std::wstring& part8,
5554 const std::wstring& part9,
5555 const std::wstring& part10,
5556 const std::wstring& part11,
5557 const std::wstring& part12
5558);
5559
5579std::wstring Concat(
5580 const std::wstring& part0,
5581 const std::wstring& part1,
5582 const std::wstring& part2,
5583 const std::wstring& part3,
5584 const std::wstring& part4,
5585 const std::wstring& part5,
5586 const std::wstring& part6,
5587 const std::wstring& part7,
5588 const std::wstring& part8,
5589 const std::wstring& part9,
5590 const std::wstring& part10,
5591 const std::wstring& part11,
5592 const std::wstring& part12,
5593 const std::wstring& part13
5594);
5595
5616std::wstring Concat(
5617 const std::wstring& part0,
5618 const std::wstring& part1,
5619 const std::wstring& part2,
5620 const std::wstring& part3,
5621 const std::wstring& part4,
5622 const std::wstring& part5,
5623 const std::wstring& part6,
5624 const std::wstring& part7,
5625 const std::wstring& part8,
5626 const std::wstring& part9,
5627 const std::wstring& part10,
5628 const std::wstring& part11,
5629 const std::wstring& part12,
5630 const std::wstring& part13,
5631 const std::wstring& part14
5632);
5633
5655std::wstring Concat(
5656 const std::wstring& part0,
5657 const std::wstring& part1,
5658 const std::wstring& part2,
5659 const std::wstring& part3,
5660 const std::wstring& part4,
5661 const std::wstring& part5,
5662 const std::wstring& part6,
5663 const std::wstring& part7,
5664 const std::wstring& part8,
5665 const std::wstring& part9,
5666 const std::wstring& part10,
5667 const std::wstring& part11,
5668 const std::wstring& part12,
5669 const std::wstring& part13,
5670 const std::wstring& part14,
5671 const std::wstring& part15
5672);
5673
5696std::wstring Concat(
5697 const std::wstring& part0,
5698 const std::wstring& part1,
5699 const std::wstring& part2,
5700 const std::wstring& part3,
5701 const std::wstring& part4,
5702 const std::wstring& part5,
5703 const std::wstring& part6,
5704 const std::wstring& part7,
5705 const std::wstring& part8,
5706 const std::wstring& part9,
5707 const std::wstring& part10,
5708 const std::wstring& part11,
5709 const std::wstring& part12,
5710 const std::wstring& part13,
5711 const std::wstring& part14,
5712 const std::wstring& part15,
5713 const std::wstring& part16
5714);
5715
5739std::wstring Concat(
5740 const std::wstring& part0,
5741 const std::wstring& part1,
5742 const std::wstring& part2,
5743 const std::wstring& part3,
5744 const std::wstring& part4,
5745 const std::wstring& part5,
5746 const std::wstring& part6,
5747 const std::wstring& part7,
5748 const std::wstring& part8,
5749 const std::wstring& part9,
5750 const std::wstring& part10,
5751 const std::wstring& part11,
5752 const std::wstring& part12,
5753 const std::wstring& part13,
5754 const std::wstring& part14,
5755 const std::wstring& part15,
5756 const std::wstring& part16,
5757 const std::wstring& part17
5758);
5759
5784std::wstring Concat(
5785 const std::wstring& part0,
5786 const std::wstring& part1,
5787 const std::wstring& part2,
5788 const std::wstring& part3,
5789 const std::wstring& part4,
5790 const std::wstring& part5,
5791 const std::wstring& part6,
5792 const std::wstring& part7,
5793 const std::wstring& part8,
5794 const std::wstring& part9,
5795 const std::wstring& part10,
5796 const std::wstring& part11,
5797 const std::wstring& part12,
5798 const std::wstring& part13,
5799 const std::wstring& part14,
5800 const std::wstring& part15,
5801 const std::wstring& part16,
5802 const std::wstring& part17,
5803 const std::wstring& part18
5804);
5805
5831std::wstring Concat(
5832 const std::wstring& part0,
5833 const std::wstring& part1,
5834 const std::wstring& part2,
5835 const std::wstring& part3,
5836 const std::wstring& part4,
5837 const std::wstring& part5,
5838 const std::wstring& part6,
5839 const std::wstring& part7,
5840 const std::wstring& part8,
5841 const std::wstring& part9,
5842 const std::wstring& part10,
5843 const std::wstring& part11,
5844 const std::wstring& part12,
5845 const std::wstring& part13,
5846 const std::wstring& part14,
5847 const std::wstring& part15,
5848 const std::wstring& part16,
5849 const std::wstring& part17,
5850 const std::wstring& part18,
5851 const std::wstring& part19
5852);
5853
5880std::wstring Concat(
5881 const std::wstring& part0,
5882 const std::wstring& part1,
5883 const std::wstring& part2,
5884 const std::wstring& part3,
5885 const std::wstring& part4,
5886 const std::wstring& part5,
5887 const std::wstring& part6,
5888 const std::wstring& part7,
5889 const std::wstring& part8,
5890 const std::wstring& part9,
5891 const std::wstring& part10,
5892 const std::wstring& part11,
5893 const std::wstring& part12,
5894 const std::wstring& part13,
5895 const std::wstring& part14,
5896 const std::wstring& part15,
5897 const std::wstring& part16,
5898 const std::wstring& part17,
5899 const std::wstring& part18,
5900 const std::wstring& part19,
5901 const std::wstring& part20
5902);
5903
5931std::wstring Concat(
5932 const std::wstring& part0,
5933 const std::wstring& part1,
5934 const std::wstring& part2,
5935 const std::wstring& part3,
5936 const std::wstring& part4,
5937 const std::wstring& part5,
5938 const std::wstring& part6,
5939 const std::wstring& part7,
5940 const std::wstring& part8,
5941 const std::wstring& part9,
5942 const std::wstring& part10,
5943 const std::wstring& part11,
5944 const std::wstring& part12,
5945 const std::wstring& part13,
5946 const std::wstring& part14,
5947 const std::wstring& part15,
5948 const std::wstring& part16,
5949 const std::wstring& part17,
5950 const std::wstring& part18,
5951 const std::wstring& part19,
5952 const std::wstring& part20,
5953 const std::wstring& part21
5954);
5955
5984std::wstring Concat(
5985 const std::wstring& part0,
5986 const std::wstring& part1,
5987 const std::wstring& part2,
5988 const std::wstring& part3,
5989 const std::wstring& part4,
5990 const std::wstring& part5,
5991 const std::wstring& part6,
5992 const std::wstring& part7,
5993 const std::wstring& part8,
5994 const std::wstring& part9,
5995 const std::wstring& part10,
5996 const std::wstring& part11,
5997 const std::wstring& part12,
5998 const std::wstring& part13,
5999 const std::wstring& part14,
6000 const std::wstring& part15,
6001 const std::wstring& part16,
6002 const std::wstring& part17,
6003 const std::wstring& part18,
6004 const std::wstring& part19,
6005 const std::wstring& part20,
6006 const std::wstring& part21,
6007 const std::wstring& part22
6008);
6009
6039std::wstring Concat(
6040 const std::wstring& part0,
6041 const std::wstring& part1,
6042 const std::wstring& part2,
6043 const std::wstring& part3,
6044 const std::wstring& part4,
6045 const std::wstring& part5,
6046 const std::wstring& part6,
6047 const std::wstring& part7,
6048 const std::wstring& part8,
6049 const std::wstring& part9,
6050 const std::wstring& part10,
6051 const std::wstring& part11,
6052 const std::wstring& part12,
6053 const std::wstring& part13,
6054 const std::wstring& part14,
6055 const std::wstring& part15,
6056 const std::wstring& part16,
6057 const std::wstring& part17,
6058 const std::wstring& part18,
6059 const std::wstring& part19,
6060 const std::wstring& part20,
6061 const std::wstring& part21,
6062 const std::wstring& part22,
6063 const std::wstring& part23
6064);
6065
6096std::wstring Concat(
6097 const std::wstring& part0,
6098 const std::wstring& part1,
6099 const std::wstring& part2,
6100 const std::wstring& part3,
6101 const std::wstring& part4,
6102 const std::wstring& part5,
6103 const std::wstring& part6,
6104 const std::wstring& part7,
6105 const std::wstring& part8,
6106 const std::wstring& part9,
6107 const std::wstring& part10,
6108 const std::wstring& part11,
6109 const std::wstring& part12,
6110 const std::wstring& part13,
6111 const std::wstring& part14,
6112 const std::wstring& part15,
6113 const std::wstring& part16,
6114 const std::wstring& part17,
6115 const std::wstring& part18,
6116 const std::wstring& part19,
6117 const std::wstring& part20,
6118 const std::wstring& part21,
6119 const std::wstring& part22,
6120 const std::wstring& part23,
6121 const std::wstring& part24
6122);
6123
6155std::wstring Concat(
6156 const std::wstring& part0,
6157 const std::wstring& part1,
6158 const std::wstring& part2,
6159 const std::wstring& part3,
6160 const std::wstring& part4,
6161 const std::wstring& part5,
6162 const std::wstring& part6,
6163 const std::wstring& part7,
6164 const std::wstring& part8,
6165 const std::wstring& part9,
6166 const std::wstring& part10,
6167 const std::wstring& part11,
6168 const std::wstring& part12,
6169 const std::wstring& part13,
6170 const std::wstring& part14,
6171 const std::wstring& part15,
6172 const std::wstring& part16,
6173 const std::wstring& part17,
6174 const std::wstring& part18,
6175 const std::wstring& part19,
6176 const std::wstring& part20,
6177 const std::wstring& part21,
6178 const std::wstring& part22,
6179 const std::wstring& part23,
6180 const std::wstring& part24,
6181 const std::wstring& part25
6182);
6183
6216std::wstring Concat(
6217 const std::wstring& part0,
6218 const std::wstring& part1,
6219 const std::wstring& part2,
6220 const std::wstring& part3,
6221 const std::wstring& part4,
6222 const std::wstring& part5,
6223 const std::wstring& part6,
6224 const std::wstring& part7,
6225 const std::wstring& part8,
6226 const std::wstring& part9,
6227 const std::wstring& part10,
6228 const std::wstring& part11,
6229 const std::wstring& part12,
6230 const std::wstring& part13,
6231 const std::wstring& part14,
6232 const std::wstring& part15,
6233 const std::wstring& part16,
6234 const std::wstring& part17,
6235 const std::wstring& part18,
6236 const std::wstring& part19,
6237 const std::wstring& part20,
6238 const std::wstring& part21,
6239 const std::wstring& part22,
6240 const std::wstring& part23,
6241 const std::wstring& part24,
6242 const std::wstring& part25,
6243 const std::wstring& part26
6244);
6245
6279std::wstring Concat(
6280 const std::wstring& part0,
6281 const std::wstring& part1,
6282 const std::wstring& part2,
6283 const std::wstring& part3,
6284 const std::wstring& part4,
6285 const std::wstring& part5,
6286 const std::wstring& part6,
6287 const std::wstring& part7,
6288 const std::wstring& part8,
6289 const std::wstring& part9,
6290 const std::wstring& part10,
6291 const std::wstring& part11,
6292 const std::wstring& part12,
6293 const std::wstring& part13,
6294 const std::wstring& part14,
6295 const std::wstring& part15,
6296 const std::wstring& part16,
6297 const std::wstring& part17,
6298 const std::wstring& part18,
6299 const std::wstring& part19,
6300 const std::wstring& part20,
6301 const std::wstring& part21,
6302 const std::wstring& part22,
6303 const std::wstring& part23,
6304 const std::wstring& part24,
6305 const std::wstring& part25,
6306 const std::wstring& part26,
6307 const std::wstring& part27
6308);
6309
6344std::wstring Concat(
6345 const std::wstring& part0,
6346 const std::wstring& part1,
6347 const std::wstring& part2,
6348 const std::wstring& part3,
6349 const std::wstring& part4,
6350 const std::wstring& part5,
6351 const std::wstring& part6,
6352 const std::wstring& part7,
6353 const std::wstring& part8,
6354 const std::wstring& part9,
6355 const std::wstring& part10,
6356 const std::wstring& part11,
6357 const std::wstring& part12,
6358 const std::wstring& part13,
6359 const std::wstring& part14,
6360 const std::wstring& part15,
6361 const std::wstring& part16,
6362 const std::wstring& part17,
6363 const std::wstring& part18,
6364 const std::wstring& part19,
6365 const std::wstring& part20,
6366 const std::wstring& part21,
6367 const std::wstring& part22,
6368 const std::wstring& part23,
6369 const std::wstring& part24,
6370 const std::wstring& part25,
6371 const std::wstring& part26,
6372 const std::wstring& part27,
6373 const std::wstring& part28
6374);
6375
6411std::wstring Concat(
6412 const std::wstring& part0,
6413 const std::wstring& part1,
6414 const std::wstring& part2,
6415 const std::wstring& part3,
6416 const std::wstring& part4,
6417 const std::wstring& part5,
6418 const std::wstring& part6,
6419 const std::wstring& part7,
6420 const std::wstring& part8,
6421 const std::wstring& part9,
6422 const std::wstring& part10,
6423 const std::wstring& part11,
6424 const std::wstring& part12,
6425 const std::wstring& part13,
6426 const std::wstring& part14,
6427 const std::wstring& part15,
6428 const std::wstring& part16,
6429 const std::wstring& part17,
6430 const std::wstring& part18,
6431 const std::wstring& part19,
6432 const std::wstring& part20,
6433 const std::wstring& part21,
6434 const std::wstring& part22,
6435 const std::wstring& part23,
6436 const std::wstring& part24,
6437 const std::wstring& part25,
6438 const std::wstring& part26,
6439 const std::wstring& part27,
6440 const std::wstring& part28,
6441 const std::wstring& part29
6442);
6443
6480std::wstring Concat(
6481 const std::wstring& part0,
6482 const std::wstring& part1,
6483 const std::wstring& part2,
6484 const std::wstring& part3,
6485 const std::wstring& part4,
6486 const std::wstring& part5,
6487 const std::wstring& part6,
6488 const std::wstring& part7,
6489 const std::wstring& part8,
6490 const std::wstring& part9,
6491 const std::wstring& part10,
6492 const std::wstring& part11,
6493 const std::wstring& part12,
6494 const std::wstring& part13,
6495 const std::wstring& part14,
6496 const std::wstring& part15,
6497 const std::wstring& part16,
6498 const std::wstring& part17,
6499 const std::wstring& part18,
6500 const std::wstring& part19,
6501 const std::wstring& part20,
6502 const std::wstring& part21,
6503 const std::wstring& part22,
6504 const std::wstring& part23,
6505 const std::wstring& part24,
6506 const std::wstring& part25,
6507 const std::wstring& part26,
6508 const std::wstring& part27,
6509 const std::wstring& part28,
6510 const std::wstring& part29,
6511 const std::wstring& part30
6512);
6513
6551std::wstring Concat(
6552 const std::wstring& part0,
6553 const std::wstring& part1,
6554 const std::wstring& part2,
6555 const std::wstring& part3,
6556 const std::wstring& part4,
6557 const std::wstring& part5,
6558 const std::wstring& part6,
6559 const std::wstring& part7,
6560 const std::wstring& part8,
6561 const std::wstring& part9,
6562 const std::wstring& part10,
6563 const std::wstring& part11,
6564 const std::wstring& part12,
6565 const std::wstring& part13,
6566 const std::wstring& part14,
6567 const std::wstring& part15,
6568 const std::wstring& part16,
6569 const std::wstring& part17,
6570 const std::wstring& part18,
6571 const std::wstring& part19,
6572 const std::wstring& part20,
6573 const std::wstring& part21,
6574 const std::wstring& part22,
6575 const std::wstring& part23,
6576 const std::wstring& part24,
6577 const std::wstring& part25,
6578 const std::wstring& part26,
6579 const std::wstring& part27,
6580 const std::wstring& part28,
6581 const std::wstring& part29,
6582 const std::wstring& part30,
6583 const std::wstring& part31
6584);
6585
6624std::wstring Concat(
6625 const std::wstring& part0,
6626 const std::wstring& part1,
6627 const std::wstring& part2,
6628 const std::wstring& part3,
6629 const std::wstring& part4,
6630 const std::wstring& part5,
6631 const std::wstring& part6,
6632 const std::wstring& part7,
6633 const std::wstring& part8,
6634 const std::wstring& part9,
6635 const std::wstring& part10,
6636 const std::wstring& part11,
6637 const std::wstring& part12,
6638 const std::wstring& part13,
6639 const std::wstring& part14,
6640 const std::wstring& part15,
6641 const std::wstring& part16,
6642 const std::wstring& part17,
6643 const std::wstring& part18,
6644 const std::wstring& part19,
6645 const std::wstring& part20,
6646 const std::wstring& part21,
6647 const std::wstring& part22,
6648 const std::wstring& part23,
6649 const std::wstring& part24,
6650 const std::wstring& part25,
6651 const std::wstring& part26,
6652 const std::wstring& part27,
6653 const std::wstring& part28,
6654 const std::wstring& part29,
6655 const std::wstring& part30,
6656 const std::wstring& part31,
6657 const std::wstring& part32
6658);
6659
6699std::wstring Concat(
6700 const std::wstring& part0,
6701 const std::wstring& part1,
6702 const std::wstring& part2,
6703 const std::wstring& part3,
6704 const std::wstring& part4,
6705 const std::wstring& part5,
6706 const std::wstring& part6,
6707 const std::wstring& part7,
6708 const std::wstring& part8,
6709 const std::wstring& part9,
6710 const std::wstring& part10,
6711 const std::wstring& part11,
6712 const std::wstring& part12,
6713 const std::wstring& part13,
6714 const std::wstring& part14,
6715 const std::wstring& part15,
6716 const std::wstring& part16,
6717 const std::wstring& part17,
6718 const std::wstring& part18,
6719 const std::wstring& part19,
6720 const std::wstring& part20,
6721 const std::wstring& part21,
6722 const std::wstring& part22,
6723 const std::wstring& part23,
6724 const std::wstring& part24,
6725 const std::wstring& part25,
6726 const std::wstring& part26,
6727 const std::wstring& part27,
6728 const std::wstring& part28,
6729 const std::wstring& part29,
6730 const std::wstring& part30,
6731 const std::wstring& part31,
6732 const std::wstring& part32,
6733 const std::wstring& part33
6734);
6735
6776std::wstring Concat(
6777 const std::wstring& part0,
6778 const std::wstring& part1,
6779 const std::wstring& part2,
6780 const std::wstring& part3,
6781 const std::wstring& part4,
6782 const std::wstring& part5,
6783 const std::wstring& part6,
6784 const std::wstring& part7,
6785 const std::wstring& part8,
6786 const std::wstring& part9,
6787 const std::wstring& part10,
6788 const std::wstring& part11,
6789 const std::wstring& part12,
6790 const std::wstring& part13,
6791 const std::wstring& part14,
6792 const std::wstring& part15,
6793 const std::wstring& part16,
6794 const std::wstring& part17,
6795 const std::wstring& part18,
6796 const std::wstring& part19,
6797 const std::wstring& part20,
6798 const std::wstring& part21,
6799 const std::wstring& part22,
6800 const std::wstring& part23,
6801 const std::wstring& part24,
6802 const std::wstring& part25,
6803 const std::wstring& part26,
6804 const std::wstring& part27,
6805 const std::wstring& part28,
6806 const std::wstring& part29,
6807 const std::wstring& part30,
6808 const std::wstring& part31,
6809 const std::wstring& part32,
6810 const std::wstring& part33,
6811 const std::wstring& part34
6812);
6813
6855std::wstring Concat(
6856 const std::wstring& part0,
6857 const std::wstring& part1,
6858 const std::wstring& part2,
6859 const std::wstring& part3,
6860 const std::wstring& part4,
6861 const std::wstring& part5,
6862 const std::wstring& part6,
6863 const std::wstring& part7,
6864 const std::wstring& part8,
6865 const std::wstring& part9,
6866 const std::wstring& part10,
6867 const std::wstring& part11,
6868 const std::wstring& part12,
6869 const std::wstring& part13,
6870 const std::wstring& part14,
6871 const std::wstring& part15,
6872 const std::wstring& part16,
6873 const std::wstring& part17,
6874 const std::wstring& part18,
6875 const std::wstring& part19,
6876 const std::wstring& part20,
6877 const std::wstring& part21,
6878 const std::wstring& part22,
6879 const std::wstring& part23,
6880 const std::wstring& part24,
6881 const std::wstring& part25,
6882 const std::wstring& part26,
6883 const std::wstring& part27,
6884 const std::wstring& part28,
6885 const std::wstring& part29,
6886 const std::wstring& part30,
6887 const std::wstring& part31,
6888 const std::wstring& part32,
6889 const std::wstring& part33,
6890 const std::wstring& part34,
6891 const std::wstring& part35
6892);
6893
6936std::wstring Concat(
6937 const std::wstring& part0,
6938 const std::wstring& part1,
6939 const std::wstring& part2,
6940 const std::wstring& part3,
6941 const std::wstring& part4,
6942 const std::wstring& part5,
6943 const std::wstring& part6,
6944 const std::wstring& part7,
6945 const std::wstring& part8,
6946 const std::wstring& part9,
6947 const std::wstring& part10,
6948 const std::wstring& part11,
6949 const std::wstring& part12,
6950 const std::wstring& part13,
6951 const std::wstring& part14,
6952 const std::wstring& part15,
6953 const std::wstring& part16,
6954 const std::wstring& part17,
6955 const std::wstring& part18,
6956 const std::wstring& part19,
6957 const std::wstring& part20,
6958 const std::wstring& part21,
6959 const std::wstring& part22,
6960 const std::wstring& part23,
6961 const std::wstring& part24,
6962 const std::wstring& part25,
6963 const std::wstring& part26,
6964 const std::wstring& part27,
6965 const std::wstring& part28,
6966 const std::wstring& part29,
6967 const std::wstring& part30,
6968 const std::wstring& part31,
6969 const std::wstring& part32,
6970 const std::wstring& part33,
6971 const std::wstring& part34,
6972 const std::wstring& part35,
6973 const std::wstring& part36
6974);
6975
7019std::wstring Concat(
7020 const std::wstring& part0,
7021 const std::wstring& part1,
7022 const std::wstring& part2,
7023 const std::wstring& part3,
7024 const std::wstring& part4,
7025 const std::wstring& part5,
7026 const std::wstring& part6,
7027 const std::wstring& part7,
7028 const std::wstring& part8,
7029 const std::wstring& part9,
7030 const std::wstring& part10,
7031 const std::wstring& part11,
7032 const std::wstring& part12,
7033 const std::wstring& part13,
7034 const std::wstring& part14,
7035 const std::wstring& part15,
7036 const std::wstring& part16,
7037 const std::wstring& part17,
7038 const std::wstring& part18,
7039 const std::wstring& part19,
7040 const std::wstring& part20,
7041 const std::wstring& part21,
7042 const std::wstring& part22,
7043 const std::wstring& part23,
7044 const std::wstring& part24,
7045 const std::wstring& part25,
7046 const std::wstring& part26,
7047 const std::wstring& part27,
7048 const std::wstring& part28,
7049 const std::wstring& part29,
7050 const std::wstring& part30,
7051 const std::wstring& part31,
7052 const std::wstring& part32,
7053 const std::wstring& part33,
7054 const std::wstring& part34,
7055 const std::wstring& part35,
7056 const std::wstring& part36,
7057 const std::wstring& part37
7058);
7059
7104std::wstring Concat(
7105 const std::wstring& part0,
7106 const std::wstring& part1,
7107 const std::wstring& part2,
7108 const std::wstring& part3,
7109 const std::wstring& part4,
7110 const std::wstring& part5,
7111 const std::wstring& part6,
7112 const std::wstring& part7,
7113 const std::wstring& part8,
7114 const std::wstring& part9,
7115 const std::wstring& part10,
7116 const std::wstring& part11,
7117 const std::wstring& part12,
7118 const std::wstring& part13,
7119 const std::wstring& part14,
7120 const std::wstring& part15,
7121 const std::wstring& part16,
7122 const std::wstring& part17,
7123 const std::wstring& part18,
7124 const std::wstring& part19,
7125 const std::wstring& part20,
7126 const std::wstring& part21,
7127 const std::wstring& part22,
7128 const std::wstring& part23,
7129 const std::wstring& part24,
7130 const std::wstring& part25,
7131 const std::wstring& part26,
7132 const std::wstring& part27,
7133 const std::wstring& part28,
7134 const std::wstring& part29,
7135 const std::wstring& part30,
7136 const std::wstring& part31,
7137 const std::wstring& part32,
7138 const std::wstring& part33,
7139 const std::wstring& part34,
7140 const std::wstring& part35,
7141 const std::wstring& part36,
7142 const std::wstring& part37,
7143 const std::wstring& part38
7144);
7145
7191std::wstring Concat(
7192 const std::wstring& part0,
7193 const std::wstring& part1,
7194 const std::wstring& part2,
7195 const std::wstring& part3,
7196 const std::wstring& part4,
7197 const std::wstring& part5,
7198 const std::wstring& part6,
7199 const std::wstring& part7,
7200 const std::wstring& part8,
7201 const std::wstring& part9,
7202 const std::wstring& part10,
7203 const std::wstring& part11,
7204 const std::wstring& part12,
7205 const std::wstring& part13,
7206 const std::wstring& part14,
7207 const std::wstring& part15,
7208 const std::wstring& part16,
7209 const std::wstring& part17,
7210 const std::wstring& part18,
7211 const std::wstring& part19,
7212 const std::wstring& part20,
7213 const std::wstring& part21,
7214 const std::wstring& part22,
7215 const std::wstring& part23,
7216 const std::wstring& part24,
7217 const std::wstring& part25,
7218 const std::wstring& part26,
7219 const std::wstring& part27,
7220 const std::wstring& part28,
7221 const std::wstring& part29,
7222 const std::wstring& part30,
7223 const std::wstring& part31,
7224 const std::wstring& part32,
7225 const std::wstring& part33,
7226 const std::wstring& part34,
7227 const std::wstring& part35,
7228 const std::wstring& part36,
7229 const std::wstring& part37,
7230 const std::wstring& part38,
7231 const std::wstring& part39
7232);
7233
7280std::wstring Concat(
7281 const std::wstring& part0,
7282 const std::wstring& part1,
7283 const std::wstring& part2,
7284 const std::wstring& part3,
7285 const std::wstring& part4,
7286 const std::wstring& part5,
7287 const std::wstring& part6,
7288 const std::wstring& part7,
7289 const std::wstring& part8,
7290 const std::wstring& part9,
7291 const std::wstring& part10,
7292 const std::wstring& part11,
7293 const std::wstring& part12,
7294 const std::wstring& part13,
7295 const std::wstring& part14,
7296 const std::wstring& part15,
7297 const std::wstring& part16,
7298 const std::wstring& part17,
7299 const std::wstring& part18,
7300 const std::wstring& part19,
7301 const std::wstring& part20,
7302 const std::wstring& part21,
7303 const std::wstring& part22,
7304 const std::wstring& part23,
7305 const std::wstring& part24,
7306 const std::wstring& part25,
7307 const std::wstring& part26,
7308 const std::wstring& part27,
7309 const std::wstring& part28,
7310 const std::wstring& part29,
7311 const std::wstring& part30,
7312 const std::wstring& part31,
7313 const std::wstring& part32,
7314 const std::wstring& part33,
7315 const std::wstring& part34,
7316 const std::wstring& part35,
7317 const std::wstring& part36,
7318 const std::wstring& part37,
7319 const std::wstring& part38,
7320 const std::wstring& part39,
7321 const std::wstring& part40
7322);
7323
7371std::wstring Concat(
7372 const std::wstring& part0,
7373 const std::wstring& part1,
7374 const std::wstring& part2,
7375 const std::wstring& part3,
7376 const std::wstring& part4,
7377 const std::wstring& part5,
7378 const std::wstring& part6,
7379 const std::wstring& part7,
7380 const std::wstring& part8,
7381 const std::wstring& part9,
7382 const std::wstring& part10,
7383 const std::wstring& part11,
7384 const std::wstring& part12,
7385 const std::wstring& part13,
7386 const std::wstring& part14,
7387 const std::wstring& part15,
7388 const std::wstring& part16,
7389 const std::wstring& part17,
7390 const std::wstring& part18,
7391 const std::wstring& part19,
7392 const std::wstring& part20,
7393 const std::wstring& part21,
7394 const std::wstring& part22,
7395 const std::wstring& part23,
7396 const std::wstring& part24,
7397 const std::wstring& part25,
7398 const std::wstring& part26,
7399 const std::wstring& part27,
7400 const std::wstring& part28,
7401 const std::wstring& part29,
7402 const std::wstring& part30,
7403 const std::wstring& part31,
7404 const std::wstring& part32,
7405 const std::wstring& part33,
7406 const std::wstring& part34,
7407 const std::wstring& part35,
7408 const std::wstring& part36,
7409 const std::wstring& part37,
7410 const std::wstring& part38,
7411 const std::wstring& part39,
7412 const std::wstring& part40,
7413 const std::wstring& part41
7414);
7415
7464std::wstring Concat(
7465 const std::wstring& part0,
7466 const std::wstring& part1,
7467 const std::wstring& part2,
7468 const std::wstring& part3,
7469 const std::wstring& part4,
7470 const std::wstring& part5,
7471 const std::wstring& part6,
7472 const std::wstring& part7,
7473 const std::wstring& part8,
7474 const std::wstring& part9,
7475 const std::wstring& part10,
7476 const std::wstring& part11,
7477 const std::wstring& part12,
7478 const std::wstring& part13,
7479 const std::wstring& part14,
7480 const std::wstring& part15,
7481 const std::wstring& part16,
7482 const std::wstring& part17,
7483 const std::wstring& part18,
7484 const std::wstring& part19,
7485 const std::wstring& part20,
7486 const std::wstring& part21,
7487 const std::wstring& part22,
7488 const std::wstring& part23,
7489 const std::wstring& part24,
7490 const std::wstring& part25,
7491 const std::wstring& part26,
7492 const std::wstring& part27,
7493 const std::wstring& part28,
7494 const std::wstring& part29,
7495 const std::wstring& part30,
7496 const std::wstring& part31,
7497 const std::wstring& part32,
7498 const std::wstring& part33,
7499 const std::wstring& part34,
7500 const std::wstring& part35,
7501 const std::wstring& part36,
7502 const std::wstring& part37,
7503 const std::wstring& part38,
7504 const std::wstring& part39,
7505 const std::wstring& part40,
7506 const std::wstring& part41,
7507 const std::wstring& part42
7508);
7509
7559std::wstring Concat(
7560 const std::wstring& part0,
7561 const std::wstring& part1,
7562 const std::wstring& part2,
7563 const std::wstring& part3,
7564 const std::wstring& part4,
7565 const std::wstring& part5,
7566 const std::wstring& part6,
7567 const std::wstring& part7,
7568 const std::wstring& part8,
7569 const std::wstring& part9,
7570 const std::wstring& part10,
7571 const std::wstring& part11,
7572 const std::wstring& part12,
7573 const std::wstring& part13,
7574 const std::wstring& part14,
7575 const std::wstring& part15,
7576 const std::wstring& part16,
7577 const std::wstring& part17,
7578 const std::wstring& part18,
7579 const std::wstring& part19,
7580 const std::wstring& part20,
7581 const std::wstring& part21,
7582 const std::wstring& part22,
7583 const std::wstring& part23,
7584 const std::wstring& part24,
7585 const std::wstring& part25,
7586 const std::wstring& part26,
7587 const std::wstring& part27,
7588 const std::wstring& part28,
7589 const std::wstring& part29,
7590 const std::wstring& part30,
7591 const std::wstring& part31,
7592 const std::wstring& part32,
7593 const std::wstring& part33,
7594 const std::wstring& part34,
7595 const std::wstring& part35,
7596 const std::wstring& part36,
7597 const std::wstring& part37,
7598 const std::wstring& part38,
7599 const std::wstring& part39,
7600 const std::wstring& part40,
7601 const std::wstring& part41,
7602 const std::wstring& part42,
7603 const std::wstring& part43
7604);
7605
7656std::wstring Concat(
7657 const std::wstring& part0,
7658 const std::wstring& part1,
7659 const std::wstring& part2,
7660 const std::wstring& part3,
7661 const std::wstring& part4,
7662 const std::wstring& part5,
7663 const std::wstring& part6,
7664 const std::wstring& part7,
7665 const std::wstring& part8,
7666 const std::wstring& part9,
7667 const std::wstring& part10,
7668 const std::wstring& part11,
7669 const std::wstring& part12,
7670 const std::wstring& part13,
7671 const std::wstring& part14,
7672 const std::wstring& part15,
7673 const std::wstring& part16,
7674 const std::wstring& part17,
7675 const std::wstring& part18,
7676 const std::wstring& part19,
7677 const std::wstring& part20,
7678 const std::wstring& part21,
7679 const std::wstring& part22,
7680 const std::wstring& part23,
7681 const std::wstring& part24,
7682 const std::wstring& part25,
7683 const std::wstring& part26,
7684 const std::wstring& part27,
7685 const std::wstring& part28,
7686 const std::wstring& part29,
7687 const std::wstring& part30,
7688 const std::wstring& part31,
7689 const std::wstring& part32,
7690 const std::wstring& part33,
7691 const std::wstring& part34,
7692 const std::wstring& part35,
7693 const std::wstring& part36,
7694 const std::wstring& part37,
7695 const std::wstring& part38,
7696 const std::wstring& part39,
7697 const std::wstring& part40,
7698 const std::wstring& part41,
7699 const std::wstring& part42,
7700 const std::wstring& part43,
7701 const std::wstring& part44
7702);
7703
7755std::wstring Concat(
7756 const std::wstring& part0,
7757 const std::wstring& part1,
7758 const std::wstring& part2,
7759 const std::wstring& part3,
7760 const std::wstring& part4,
7761 const std::wstring& part5,
7762 const std::wstring& part6,
7763 const std::wstring& part7,
7764 const std::wstring& part8,
7765 const std::wstring& part9,
7766 const std::wstring& part10,
7767 const std::wstring& part11,
7768 const std::wstring& part12,
7769 const std::wstring& part13,
7770 const std::wstring& part14,
7771 const std::wstring& part15,
7772 const std::wstring& part16,
7773 const std::wstring& part17,
7774 const std::wstring& part18,
7775 const std::wstring& part19,
7776 const std::wstring& part20,
7777 const std::wstring& part21,
7778 const std::wstring& part22,
7779 const std::wstring& part23,
7780 const std::wstring& part24,
7781 const std::wstring& part25,
7782 const std::wstring& part26,
7783 const std::wstring& part27,
7784 const std::wstring& part28,
7785 const std::wstring& part29,
7786 const std::wstring& part30,
7787 const std::wstring& part31,
7788 const std::wstring& part32,
7789 const std::wstring& part33,
7790 const std::wstring& part34,
7791 const std::wstring& part35,
7792 const std::wstring& part36,
7793 const std::wstring& part37,
7794 const std::wstring& part38,
7795 const std::wstring& part39,
7796 const std::wstring& part40,
7797 const std::wstring& part41,
7798 const std::wstring& part42,
7799 const std::wstring& part43,
7800 const std::wstring& part44,
7801 const std::wstring& part45
7802);
7803
7856std::wstring Concat(
7857 const std::wstring& part0,
7858 const std::wstring& part1,
7859 const std::wstring& part2,
7860 const std::wstring& part3,
7861 const std::wstring& part4,
7862 const std::wstring& part5,
7863 const std::wstring& part6,
7864 const std::wstring& part7,
7865 const std::wstring& part8,
7866 const std::wstring& part9,
7867 const std::wstring& part10,
7868 const std::wstring& part11,
7869 const std::wstring& part12,
7870 const std::wstring& part13,
7871 const std::wstring& part14,
7872 const std::wstring& part15,
7873 const std::wstring& part16,
7874 const std::wstring& part17,
7875 const std::wstring& part18,
7876 const std::wstring& part19,
7877 const std::wstring& part20,
7878 const std::wstring& part21,
7879 const std::wstring& part22,
7880 const std::wstring& part23,
7881 const std::wstring& part24,
7882 const std::wstring& part25,
7883 const std::wstring& part26,
7884 const std::wstring& part27,
7885 const std::wstring& part28,
7886 const std::wstring& part29,
7887 const std::wstring& part30,
7888 const std::wstring& part31,
7889 const std::wstring& part32,
7890 const std::wstring& part33,
7891 const std::wstring& part34,
7892 const std::wstring& part35,
7893 const std::wstring& part36,
7894 const std::wstring& part37,
7895 const std::wstring& part38,
7896 const std::wstring& part39,
7897 const std::wstring& part40,
7898 const std::wstring& part41,
7899 const std::wstring& part42,
7900 const std::wstring& part43,
7901 const std::wstring& part44,
7902 const std::wstring& part45,
7903 const std::wstring& part46
7904);
7905
7959std::wstring Concat(
7960 const std::wstring& part0,
7961 const std::wstring& part1,
7962 const std::wstring& part2,
7963 const std::wstring& part3,
7964 const std::wstring& part4,
7965 const std::wstring& part5,
7966 const std::wstring& part6,
7967 const std::wstring& part7,
7968 const std::wstring& part8,
7969 const std::wstring& part9,
7970 const std::wstring& part10,
7971 const std::wstring& part11,
7972 const std::wstring& part12,
7973 const std::wstring& part13,
7974 const std::wstring& part14,
7975 const std::wstring& part15,
7976 const std::wstring& part16,
7977 const std::wstring& part17,
7978 const std::wstring& part18,
7979 const std::wstring& part19,
7980 const std::wstring& part20,
7981 const std::wstring& part21,
7982 const std::wstring& part22,
7983 const std::wstring& part23,
7984 const std::wstring& part24,
7985 const std::wstring& part25,
7986 const std::wstring& part26,
7987 const std::wstring& part27,
7988 const std::wstring& part28,
7989 const std::wstring& part29,
7990 const std::wstring& part30,
7991 const std::wstring& part31,
7992 const std::wstring& part32,
7993 const std::wstring& part33,
7994 const std::wstring& part34,
7995 const std::wstring& part35,
7996 const std::wstring& part36,
7997 const std::wstring& part37,
7998 const std::wstring& part38,
7999 const std::wstring& part39,
8000 const std::wstring& part40,
8001 const std::wstring& part41,
8002 const std::wstring& part42,
8003 const std::wstring& part43,
8004 const std::wstring& part44,
8005 const std::wstring& part45,
8006 const std::wstring& part46,
8007 const std::wstring& part47
8008);
8009
8064std::wstring Concat(
8065 const std::wstring& part0,
8066 const std::wstring& part1,
8067 const std::wstring& part2,
8068 const std::wstring& part3,
8069 const std::wstring& part4,
8070 const std::wstring& part5,
8071 const std::wstring& part6,
8072 const std::wstring& part7,
8073 const std::wstring& part8,
8074 const std::wstring& part9,
8075 const std::wstring& part10,
8076 const std::wstring& part11,
8077 const std::wstring& part12,
8078 const std::wstring& part13,
8079 const std::wstring& part14,
8080 const std::wstring& part15,
8081 const std::wstring& part16,
8082 const std::wstring& part17,
8083 const std::wstring& part18,
8084 const std::wstring& part19,
8085 const std::wstring& part20,
8086 const std::wstring& part21,
8087 const std::wstring& part22,
8088 const std::wstring& part23,
8089 const std::wstring& part24,
8090 const std::wstring& part25,
8091 const std::wstring& part26,
8092 const std::wstring& part27,
8093 const std::wstring& part28,
8094 const std::wstring& part29,
8095 const std::wstring& part30,
8096 const std::wstring& part31,
8097 const std::wstring& part32,
8098 const std::wstring& part33,
8099 const std::wstring& part34,
8100 const std::wstring& part35,
8101 const std::wstring& part36,
8102 const std::wstring& part37,
8103 const std::wstring& part38,
8104 const std::wstring& part39,
8105 const std::wstring& part40,
8106 const std::wstring& part41,
8107 const std::wstring& part42,
8108 const std::wstring& part43,
8109 const std::wstring& part44,
8110 const std::wstring& part45,
8111 const std::wstring& part46,
8112 const std::wstring& part47,
8113 const std::wstring& part48
8114);
8115
8171std::wstring Concat(
8172 const std::wstring& part0,
8173 const std::wstring& part1,
8174 const std::wstring& part2,
8175 const std::wstring& part3,
8176 const std::wstring& part4,
8177 const std::wstring& part5,
8178 const std::wstring& part6,
8179 const std::wstring& part7,
8180 const std::wstring& part8,
8181 const std::wstring& part9,
8182 const std::wstring& part10,
8183 const std::wstring& part11,
8184 const std::wstring& part12,
8185 const std::wstring& part13,
8186 const std::wstring& part14,
8187 const std::wstring& part15,
8188 const std::wstring& part16,
8189 const std::wstring& part17,
8190 const std::wstring& part18,
8191 const std::wstring& part19,
8192 const std::wstring& part20,
8193 const std::wstring& part21,
8194 const std::wstring& part22,
8195 const std::wstring& part23,
8196 const std::wstring& part24,
8197 const std::wstring& part25,
8198 const std::wstring& part26,
8199 const std::wstring& part27,
8200 const std::wstring& part28,
8201 const std::wstring& part29,
8202 const std::wstring& part30,
8203 const std::wstring& part31,
8204 const std::wstring& part32,
8205 const std::wstring& part33,
8206 const std::wstring& part34,
8207 const std::wstring& part35,
8208 const std::wstring& part36,
8209 const std::wstring& part37,
8210 const std::wstring& part38,
8211 const std::wstring& part39,
8212 const std::wstring& part40,
8213 const std::wstring& part41,
8214 const std::wstring& part42,
8215 const std::wstring& part43,
8216 const std::wstring& part44,
8217 const std::wstring& part45,
8218 const std::wstring& part46,
8219 const std::wstring& part47,
8220 const std::wstring& part48,
8221 const std::wstring& part49
8222);
8223
8280std::wstring Concat(
8281 const std::wstring& part0,
8282 const std::wstring& part1,
8283 const std::wstring& part2,
8284 const std::wstring& part3,
8285 const std::wstring& part4,
8286 const std::wstring& part5,
8287 const std::wstring& part6,
8288 const std::wstring& part7,
8289 const std::wstring& part8,
8290 const std::wstring& part9,
8291 const std::wstring& part10,
8292 const std::wstring& part11,
8293 const std::wstring& part12,
8294 const std::wstring& part13,
8295 const std::wstring& part14,
8296 const std::wstring& part15,
8297 const std::wstring& part16,
8298 const std::wstring& part17,
8299 const std::wstring& part18,
8300 const std::wstring& part19,
8301 const std::wstring& part20,
8302 const std::wstring& part21,
8303 const std::wstring& part22,
8304 const std::wstring& part23,
8305 const std::wstring& part24,
8306 const std::wstring& part25,
8307 const std::wstring& part26,
8308 const std::wstring& part27,
8309 const std::wstring& part28,
8310 const std::wstring& part29,
8311 const std::wstring& part30,
8312 const std::wstring& part31,
8313 const std::wstring& part32,
8314 const std::wstring& part33,
8315 const std::wstring& part34,
8316 const std::wstring& part35,
8317 const std::wstring& part36,
8318 const std::wstring& part37,
8319 const std::wstring& part38,
8320 const std::wstring& part39,
8321 const std::wstring& part40,
8322 const std::wstring& part41,
8323 const std::wstring& part42,
8324 const std::wstring& part43,
8325 const std::wstring& part44,
8326 const std::wstring& part45,
8327 const std::wstring& part46,
8328 const std::wstring& part47,
8329 const std::wstring& part48,
8330 const std::wstring& part49,
8331 const std::wstring& part50
8332);
8333
8391std::wstring Concat(
8392 const std::wstring& part0,
8393 const std::wstring& part1,
8394 const std::wstring& part2,
8395 const std::wstring& part3,
8396 const std::wstring& part4,
8397 const std::wstring& part5,
8398 const std::wstring& part6,
8399 const std::wstring& part7,
8400 const std::wstring& part8,
8401 const std::wstring& part9,
8402 const std::wstring& part10,
8403 const std::wstring& part11,
8404 const std::wstring& part12,
8405 const std::wstring& part13,
8406 const std::wstring& part14,
8407 const std::wstring& part15,
8408 const std::wstring& part16,
8409 const std::wstring& part17,
8410 const std::wstring& part18,
8411 const std::wstring& part19,
8412 const std::wstring& part20,
8413 const std::wstring& part21,
8414 const std::wstring& part22,
8415 const std::wstring& part23,
8416 const std::wstring& part24,
8417 const std::wstring& part25,
8418 const std::wstring& part26,
8419 const std::wstring& part27,
8420 const std::wstring& part28,
8421 const std::wstring& part29,
8422 const std::wstring& part30,
8423 const std::wstring& part31,
8424 const std::wstring& part32,
8425 const std::wstring& part33,
8426 const std::wstring& part34,
8427 const std::wstring& part35,
8428 const std::wstring& part36,
8429 const std::wstring& part37,
8430 const std::wstring& part38,
8431 const std::wstring& part39,
8432 const std::wstring& part40,
8433 const std::wstring& part41,
8434 const std::wstring& part42,
8435 const std::wstring& part43,
8436 const std::wstring& part44,
8437 const std::wstring& part45,
8438 const std::wstring& part46,
8439 const std::wstring& part47,
8440 const std::wstring& part48,
8441 const std::wstring& part49,
8442 const std::wstring& part50,
8443 const std::wstring& part51
8444);
8445
8504std::wstring Concat(
8505 const std::wstring& part0,
8506 const std::wstring& part1,
8507 const std::wstring& part2,
8508 const std::wstring& part3,
8509 const std::wstring& part4,
8510 const std::wstring& part5,
8511 const std::wstring& part6,
8512 const std::wstring& part7,
8513 const std::wstring& part8,
8514 const std::wstring& part9,
8515 const std::wstring& part10,
8516 const std::wstring& part11,
8517 const std::wstring& part12,
8518 const std::wstring& part13,
8519 const std::wstring& part14,
8520 const std::wstring& part15,
8521 const std::wstring& part16,
8522 const std::wstring& part17,
8523 const std::wstring& part18,
8524 const std::wstring& part19,
8525 const std::wstring& part20,
8526 const std::wstring& part21,
8527 const std::wstring& part22,
8528 const std::wstring& part23,
8529 const std::wstring& part24,
8530 const std::wstring& part25,
8531 const std::wstring& part26,
8532 const std::wstring& part27,
8533 const std::wstring& part28,
8534 const std::wstring& part29,
8535 const std::wstring& part30,
8536 const std::wstring& part31,
8537 const std::wstring& part32,
8538 const std::wstring& part33,
8539 const std::wstring& part34,
8540 const std::wstring& part35,
8541 const std::wstring& part36,
8542 const std::wstring& part37,
8543 const std::wstring& part38,
8544 const std::wstring& part39,
8545 const std::wstring& part40,
8546 const std::wstring& part41,
8547 const std::wstring& part42,
8548 const std::wstring& part43,
8549 const std::wstring& part44,
8550 const std::wstring& part45,
8551 const std::wstring& part46,
8552 const std::wstring& part47,
8553 const std::wstring& part48,
8554 const std::wstring& part49,
8555 const std::wstring& part50,
8556 const std::wstring& part51,
8557 const std::wstring& part52
8558);
8559
8619std::wstring Concat(
8620 const std::wstring& part0,
8621 const std::wstring& part1,
8622 const std::wstring& part2,
8623 const std::wstring& part3,
8624 const std::wstring& part4,
8625 const std::wstring& part5,
8626 const std::wstring& part6,
8627 const std::wstring& part7,
8628 const std::wstring& part8,
8629 const std::wstring& part9,
8630 const std::wstring& part10,
8631 const std::wstring& part11,
8632 const std::wstring& part12,
8633 const std::wstring& part13,
8634 const std::wstring& part14,
8635 const std::wstring& part15,
8636 const std::wstring& part16,
8637 const std::wstring& part17,
8638 const std::wstring& part18,
8639 const std::wstring& part19,
8640 const std::wstring& part20,
8641 const std::wstring& part21,
8642 const std::wstring& part22,
8643 const std::wstring& part23,
8644 const std::wstring& part24,
8645 const std::wstring& part25,
8646 const std::wstring& part26,
8647 const std::wstring& part27,
8648 const std::wstring& part28,
8649 const std::wstring& part29,
8650 const std::wstring& part30,
8651 const std::wstring& part31,
8652 const std::wstring& part32,
8653 const std::wstring& part33,
8654 const std::wstring& part34,
8655 const std::wstring& part35,
8656 const std::wstring& part36,
8657 const std::wstring& part37,
8658 const std::wstring& part38,
8659 const std::wstring& part39,
8660 const std::wstring& part40,
8661 const std::wstring& part41,
8662 const std::wstring& part42,
8663 const std::wstring& part43,
8664 const std::wstring& part44,
8665 const std::wstring& part45,
8666 const std::wstring& part46,
8667 const std::wstring& part47,
8668 const std::wstring& part48,
8669 const std::wstring& part49,
8670 const std::wstring& part50,
8671 const std::wstring& part51,
8672 const std::wstring& part52,
8673 const std::wstring& part53
8674);
8675
8736std::wstring Concat(
8737 const std::wstring& part0,
8738 const std::wstring& part1,
8739 const std::wstring& part2,
8740 const std::wstring& part3,
8741 const std::wstring& part4,
8742 const std::wstring& part5,
8743 const std::wstring& part6,
8744 const std::wstring& part7,
8745 const std::wstring& part8,
8746 const std::wstring& part9,
8747 const std::wstring& part10,
8748 const std::wstring& part11,
8749 const std::wstring& part12,
8750 const std::wstring& part13,
8751 const std::wstring& part14,
8752 const std::wstring& part15,
8753 const std::wstring& part16,
8754 const std::wstring& part17,
8755 const std::wstring& part18,
8756 const std::wstring& part19,
8757 const std::wstring& part20,
8758 const std::wstring& part21,
8759 const std::wstring& part22,
8760 const std::wstring& part23,
8761 const std::wstring& part24,
8762 const std::wstring& part25,
8763 const std::wstring& part26,
8764 const std::wstring& part27,
8765 const std::wstring& part28,
8766 const std::wstring& part29,
8767 const std::wstring& part30,
8768 const std::wstring& part31,
8769 const std::wstring& part32,
8770 const std::wstring& part33,
8771 const std::wstring& part34,
8772 const std::wstring& part35,
8773 const std::wstring& part36,
8774 const std::wstring& part37,
8775 const std::wstring& part38,
8776 const std::wstring& part39,
8777 const std::wstring& part40,
8778 const std::wstring& part41,
8779 const std::wstring& part42,
8780 const std::wstring& part43,
8781 const std::wstring& part44,
8782 const std::wstring& part45,
8783 const std::wstring& part46,
8784 const std::wstring& part47,
8785 const std::wstring& part48,
8786 const std::wstring& part49,
8787 const std::wstring& part50,
8788 const std::wstring& part51,
8789 const std::wstring& part52,
8790 const std::wstring& part53,
8791 const std::wstring& part54
8792);
8793
8855std::wstring Concat(
8856 const std::wstring& part0,
8857 const std::wstring& part1,
8858 const std::wstring& part2,
8859 const std::wstring& part3,
8860 const std::wstring& part4,
8861 const std::wstring& part5,
8862 const std::wstring& part6,
8863 const std::wstring& part7,
8864 const std::wstring& part8,
8865 const std::wstring& part9,
8866 const std::wstring& part10,
8867 const std::wstring& part11,
8868 const std::wstring& part12,
8869 const std::wstring& part13,
8870 const std::wstring& part14,
8871 const std::wstring& part15,
8872 const std::wstring& part16,
8873 const std::wstring& part17,
8874 const std::wstring& part18,
8875 const std::wstring& part19,
8876 const std::wstring& part20,
8877 const std::wstring& part21,
8878 const std::wstring& part22,
8879 const std::wstring& part23,
8880 const std::wstring& part24,
8881 const std::wstring& part25,
8882 const std::wstring& part26,
8883 const std::wstring& part27,
8884 const std::wstring& part28,
8885 const std::wstring& part29,
8886 const std::wstring& part30,
8887 const std::wstring& part31,
8888 const std::wstring& part32,
8889 const std::wstring& part33,
8890 const std::wstring& part34,
8891 const std::wstring& part35,
8892 const std::wstring& part36,
8893 const std::wstring& part37,
8894 const std::wstring& part38,
8895 const std::wstring& part39,
8896 const std::wstring& part40,
8897 const std::wstring& part41,
8898 const std::wstring& part42,
8899 const std::wstring& part43,
8900 const std::wstring& part44,
8901 const std::wstring& part45,
8902 const std::wstring& part46,
8903 const std::wstring& part47,
8904 const std::wstring& part48,
8905 const std::wstring& part49,
8906 const std::wstring& part50,
8907 const std::wstring& part51,
8908 const std::wstring& part52,
8909 const std::wstring& part53,
8910 const std::wstring& part54,
8911 const std::wstring& part55
8912);
8913
8976std::wstring Concat(
8977 const std::wstring& part0,
8978 const std::wstring& part1,
8979 const std::wstring& part2,
8980 const std::wstring& part3,
8981 const std::wstring& part4,
8982 const std::wstring& part5,
8983 const std::wstring& part6,
8984 const std::wstring& part7,
8985 const std::wstring& part8,
8986 const std::wstring& part9,
8987 const std::wstring& part10,
8988 const std::wstring& part11,
8989 const std::wstring& part12,
8990 const std::wstring& part13,
8991 const std::wstring& part14,
8992 const std::wstring& part15,
8993 const std::wstring& part16,
8994 const std::wstring& part17,
8995 const std::wstring& part18,
8996 const std::wstring& part19,
8997 const std::wstring& part20,
8998 const std::wstring& part21,
8999 const std::wstring& part22,
9000 const std::wstring& part23,
9001 const std::wstring& part24,
9002 const std::wstring& part25,
9003 const std::wstring& part26,
9004 const std::wstring& part27,
9005 const std::wstring& part28,
9006 const std::wstring& part29,
9007 const std::wstring& part30,
9008 const std::wstring& part31,
9009 const std::wstring& part32,
9010 const std::wstring& part33,
9011 const std::wstring& part34,
9012 const std::wstring& part35,
9013 const std::wstring& part36,
9014 const std::wstring& part37,
9015 const std::wstring& part38,
9016 const std::wstring& part39,
9017 const std::wstring& part40,
9018 const std::wstring& part41,
9019 const std::wstring& part42,
9020 const std::wstring& part43,
9021 const std::wstring& part44,
9022 const std::wstring& part45,
9023 const std::wstring& part46,
9024 const std::wstring& part47,
9025 const std::wstring& part48,
9026 const std::wstring& part49,
9027 const std::wstring& part50,
9028 const std::wstring& part51,
9029 const std::wstring& part52,
9030 const std::wstring& part53,
9031 const std::wstring& part54,
9032 const std::wstring& part55,
9033 const std::wstring& part56
9034);
9035
9099std::wstring Concat(
9100 const std::wstring& part0,
9101 const std::wstring& part1,
9102 const std::wstring& part2,
9103 const std::wstring& part3,
9104 const std::wstring& part4,
9105 const std::wstring& part5,
9106 const std::wstring& part6,
9107 const std::wstring& part7,
9108 const std::wstring& part8,
9109 const std::wstring& part9,
9110 const std::wstring& part10,
9111 const std::wstring& part11,
9112 const std::wstring& part12,
9113 const std::wstring& part13,
9114 const std::wstring& part14,
9115 const std::wstring& part15,
9116 const std::wstring& part16,
9117 const std::wstring& part17,
9118 const std::wstring& part18,
9119 const std::wstring& part19,
9120 const std::wstring& part20,
9121 const std::wstring& part21,
9122 const std::wstring& part22,
9123 const std::wstring& part23,
9124 const std::wstring& part24,
9125 const std::wstring& part25,
9126 const std::wstring& part26,
9127 const std::wstring& part27,
9128 const std::wstring& part28,
9129 const std::wstring& part29,
9130 const std::wstring& part30,
9131 const std::wstring& part31,
9132 const std::wstring& part32,
9133 const std::wstring& part33,
9134 const std::wstring& part34,
9135 const std::wstring& part35,
9136 const std::wstring& part36,
9137 const std::wstring& part37,
9138 const std::wstring& part38,
9139 const std::wstring& part39,
9140 const std::wstring& part40,
9141 const std::wstring& part41,
9142 const std::wstring& part42,
9143 const std::wstring& part43,
9144 const std::wstring& part44,
9145 const std::wstring& part45,
9146 const std::wstring& part46,
9147 const std::wstring& part47,
9148 const std::wstring& part48,
9149 const std::wstring& part49,
9150 const std::wstring& part50,
9151 const std::wstring& part51,
9152 const std::wstring& part52,
9153 const std::wstring& part53,
9154 const std::wstring& part54,
9155 const std::wstring& part55,
9156 const std::wstring& part56,
9157 const std::wstring& part57
9158);
9159
9224std::wstring Concat(
9225 const std::wstring& part0,
9226 const std::wstring& part1,
9227 const std::wstring& part2,
9228 const std::wstring& part3,
9229 const std::wstring& part4,
9230 const std::wstring& part5,
9231 const std::wstring& part6,
9232 const std::wstring& part7,
9233 const std::wstring& part8,
9234 const std::wstring& part9,
9235 const std::wstring& part10,
9236 const std::wstring& part11,
9237 const std::wstring& part12,
9238 const std::wstring& part13,
9239 const std::wstring& part14,
9240 const std::wstring& part15,
9241 const std::wstring& part16,
9242 const std::wstring& part17,
9243 const std::wstring& part18,
9244 const std::wstring& part19,
9245 const std::wstring& part20,
9246 const std::wstring& part21,
9247 const std::wstring& part22,
9248 const std::wstring& part23,
9249 const std::wstring& part24,
9250 const std::wstring& part25,
9251 const std::wstring& part26,
9252 const std::wstring& part27,
9253 const std::wstring& part28,
9254 const std::wstring& part29,
9255 const std::wstring& part30,
9256 const std::wstring& part31,
9257 const std::wstring& part32,
9258 const std::wstring& part33,
9259 const std::wstring& part34,
9260 const std::wstring& part35,
9261 const std::wstring& part36,
9262 const std::wstring& part37,
9263 const std::wstring& part38,
9264 const std::wstring& part39,
9265 const std::wstring& part40,
9266 const std::wstring& part41,
9267 const std::wstring& part42,
9268 const std::wstring& part43,
9269 const std::wstring& part44,
9270 const std::wstring& part45,
9271 const std::wstring& part46,
9272 const std::wstring& part47,
9273 const std::wstring& part48,
9274 const std::wstring& part49,
9275 const std::wstring& part50,
9276 const std::wstring& part51,
9277 const std::wstring& part52,
9278 const std::wstring& part53,
9279 const std::wstring& part54,
9280 const std::wstring& part55,
9281 const std::wstring& part56,
9282 const std::wstring& part57,
9283 const std::wstring& part58
9284);
9285
9351std::wstring Concat(
9352 const std::wstring& part0,
9353 const std::wstring& part1,
9354 const std::wstring& part2,
9355 const std::wstring& part3,
9356 const std::wstring& part4,
9357 const std::wstring& part5,
9358 const std::wstring& part6,
9359 const std::wstring& part7,
9360 const std::wstring& part8,
9361 const std::wstring& part9,
9362 const std::wstring& part10,
9363 const std::wstring& part11,
9364 const std::wstring& part12,
9365 const std::wstring& part13,
9366 const std::wstring& part14,
9367 const std::wstring& part15,
9368 const std::wstring& part16,
9369 const std::wstring& part17,
9370 const std::wstring& part18,
9371 const std::wstring& part19,
9372 const std::wstring& part20,
9373 const std::wstring& part21,
9374 const std::wstring& part22,
9375 const std::wstring& part23,
9376 const std::wstring& part24,
9377 const std::wstring& part25,
9378 const std::wstring& part26,
9379 const std::wstring& part27,
9380 const std::wstring& part28,
9381 const std::wstring& part29,
9382 const std::wstring& part30,
9383 const std::wstring& part31,
9384 const std::wstring& part32,
9385 const std::wstring& part33,
9386 const std::wstring& part34,
9387 const std::wstring& part35,
9388 const std::wstring& part36,
9389 const std::wstring& part37,
9390 const std::wstring& part38,
9391 const std::wstring& part39,
9392 const std::wstring& part40,
9393 const std::wstring& part41,
9394 const std::wstring& part42,
9395 const std::wstring& part43,
9396 const std::wstring& part44,
9397 const std::wstring& part45,
9398 const std::wstring& part46,
9399 const std::wstring& part47,
9400 const std::wstring& part48,
9401 const std::wstring& part49,
9402 const std::wstring& part50,
9403 const std::wstring& part51,
9404 const std::wstring& part52,
9405 const std::wstring& part53,
9406 const std::wstring& part54,
9407 const std::wstring& part55,
9408 const std::wstring& part56,
9409 const std::wstring& part57,
9410 const std::wstring& part58,
9411 const std::wstring& part59
9412);
9413
9480std::wstring Concat(
9481 const std::wstring& part0,
9482 const std::wstring& part1,
9483 const std::wstring& part2,
9484 const std::wstring& part3,
9485 const std::wstring& part4,
9486 const std::wstring& part5,
9487 const std::wstring& part6,
9488 const std::wstring& part7,
9489 const std::wstring& part8,
9490 const std::wstring& part9,
9491 const std::wstring& part10,
9492 const std::wstring& part11,
9493 const std::wstring& part12,
9494 const std::wstring& part13,
9495 const std::wstring& part14,
9496 const std::wstring& part15,
9497 const std::wstring& part16,
9498 const std::wstring& part17,
9499 const std::wstring& part18,
9500 const std::wstring& part19,
9501 const std::wstring& part20,
9502 const std::wstring& part21,
9503 const std::wstring& part22,
9504 const std::wstring& part23,
9505 const std::wstring& part24,
9506 const std::wstring& part25,
9507 const std::wstring& part26,
9508 const std::wstring& part27,
9509 const std::wstring& part28,
9510 const std::wstring& part29,
9511 const std::wstring& part30,
9512 const std::wstring& part31,
9513 const std::wstring& part32,
9514 const std::wstring& part33,
9515 const std::wstring& part34,
9516 const std::wstring& part35,
9517 const std::wstring& part36,
9518 const std::wstring& part37,
9519 const std::wstring& part38,
9520 const std::wstring& part39,
9521 const std::wstring& part40,
9522 const std::wstring& part41,
9523 const std::wstring& part42,
9524 const std::wstring& part43,
9525 const std::wstring& part44,
9526 const std::wstring& part45,
9527 const std::wstring& part46,
9528 const std::wstring& part47,
9529 const std::wstring& part48,
9530 const std::wstring& part49,
9531 const std::wstring& part50,
9532 const std::wstring& part51,
9533 const std::wstring& part52,
9534 const std::wstring& part53,
9535 const std::wstring& part54,
9536 const std::wstring& part55,
9537 const std::wstring& part56,
9538 const std::wstring& part57,
9539 const std::wstring& part58,
9540 const std::wstring& part59,
9541 const std::wstring& part60
9542);
9543
9611std::wstring Concat(
9612 const std::wstring& part0,
9613 const std::wstring& part1,
9614 const std::wstring& part2,
9615 const std::wstring& part3,
9616 const std::wstring& part4,
9617 const std::wstring& part5,
9618 const std::wstring& part6,
9619 const std::wstring& part7,
9620 const std::wstring& part8,
9621 const std::wstring& part9,
9622 const std::wstring& part10,
9623 const std::wstring& part11,
9624 const std::wstring& part12,
9625 const std::wstring& part13,
9626 const std::wstring& part14,
9627 const std::wstring& part15,
9628 const std::wstring& part16,
9629 const std::wstring& part17,
9630 const std::wstring& part18,
9631 const std::wstring& part19,
9632 const std::wstring& part20,
9633 const std::wstring& part21,
9634 const std::wstring& part22,
9635 const std::wstring& part23,
9636 const std::wstring& part24,
9637 const std::wstring& part25,
9638 const std::wstring& part26,
9639 const std::wstring& part27,
9640 const std::wstring& part28,
9641 const std::wstring& part29,
9642 const std::wstring& part30,
9643 const std::wstring& part31,
9644 const std::wstring& part32,
9645 const std::wstring& part33,
9646 const std::wstring& part34,
9647 const std::wstring& part35,
9648 const std::wstring& part36,
9649 const std::wstring& part37,
9650 const std::wstring& part38,
9651 const std::wstring& part39,
9652 const std::wstring& part40,
9653 const std::wstring& part41,
9654 const std::wstring& part42,
9655 const std::wstring& part43,
9656 const std::wstring& part44,
9657 const std::wstring& part45,
9658 const std::wstring& part46,
9659 const std::wstring& part47,
9660 const std::wstring& part48,
9661 const std::wstring& part49,
9662 const std::wstring& part50,
9663 const std::wstring& part51,
9664 const std::wstring& part52,
9665 const std::wstring& part53,
9666 const std::wstring& part54,
9667 const std::wstring& part55,
9668 const std::wstring& part56,
9669 const std::wstring& part57,
9670 const std::wstring& part58,
9671 const std::wstring& part59,
9672 const std::wstring& part60,
9673 const std::wstring& part61
9674);
9675
9744std::wstring Concat(
9745 const std::wstring& part0,
9746 const std::wstring& part1,
9747 const std::wstring& part2,
9748 const std::wstring& part3,
9749 const std::wstring& part4,
9750 const std::wstring& part5,
9751 const std::wstring& part6,
9752 const std::wstring& part7,
9753 const std::wstring& part8,
9754 const std::wstring& part9,
9755 const std::wstring& part10,
9756 const std::wstring& part11,
9757 const std::wstring& part12,
9758 const std::wstring& part13,
9759 const std::wstring& part14,
9760 const std::wstring& part15,
9761 const std::wstring& part16,
9762 const std::wstring& part17,
9763 const std::wstring& part18,
9764 const std::wstring& part19,
9765 const std::wstring& part20,
9766 const std::wstring& part21,
9767 const std::wstring& part22,
9768 const std::wstring& part23,
9769 const std::wstring& part24,
9770 const std::wstring& part25,
9771 const std::wstring& part26,
9772 const std::wstring& part27,
9773 const std::wstring& part28,
9774 const std::wstring& part29,
9775 const std::wstring& part30,
9776 const std::wstring& part31,
9777 const std::wstring& part32,
9778 const std::wstring& part33,
9779 const std::wstring& part34,
9780 const std::wstring& part35,
9781 const std::wstring& part36,
9782 const std::wstring& part37,
9783 const std::wstring& part38,
9784 const std::wstring& part39,
9785 const std::wstring& part40,
9786 const std::wstring& part41,
9787 const std::wstring& part42,
9788 const std::wstring& part43,
9789 const std::wstring& part44,
9790 const std::wstring& part45,
9791 const std::wstring& part46,
9792 const std::wstring& part47,
9793 const std::wstring& part48,
9794 const std::wstring& part49,
9795 const std::wstring& part50,
9796 const std::wstring& part51,
9797 const std::wstring& part52,
9798 const std::wstring& part53,
9799 const std::wstring& part54,
9800 const std::wstring& part55,
9801 const std::wstring& part56,
9802 const std::wstring& part57,
9803 const std::wstring& part58,
9804 const std::wstring& part59,
9805 const std::wstring& part60,
9806 const std::wstring& part61,
9807 const std::wstring& part62
9808);
9809
9879std::wstring Concat(
9880 const std::wstring& part0,
9881 const std::wstring& part1,
9882 const std::wstring& part2,
9883 const std::wstring& part3,
9884 const std::wstring& part4,
9885 const std::wstring& part5,
9886 const std::wstring& part6,
9887 const std::wstring& part7,
9888 const std::wstring& part8,
9889 const std::wstring& part9,
9890 const std::wstring& part10,
9891 const std::wstring& part11,
9892 const std::wstring& part12,
9893 const std::wstring& part13,
9894 const std::wstring& part14,
9895 const std::wstring& part15,
9896 const std::wstring& part16,
9897 const std::wstring& part17,
9898 const std::wstring& part18,
9899 const std::wstring& part19,
9900 const std::wstring& part20,
9901 const std::wstring& part21,
9902 const std::wstring& part22,
9903 const std::wstring& part23,
9904 const std::wstring& part24,
9905 const std::wstring& part25,
9906 const std::wstring& part26,
9907 const std::wstring& part27,
9908 const std::wstring& part28,
9909 const std::wstring& part29,
9910 const std::wstring& part30,
9911 const std::wstring& part31,
9912 const std::wstring& part32,
9913 const std::wstring& part33,
9914 const std::wstring& part34,
9915 const std::wstring& part35,
9916 const std::wstring& part36,
9917 const std::wstring& part37,
9918 const std::wstring& part38,
9919 const std::wstring& part39,
9920 const std::wstring& part40,
9921 const std::wstring& part41,
9922 const std::wstring& part42,
9923 const std::wstring& part43,
9924 const std::wstring& part44,
9925 const std::wstring& part45,
9926 const std::wstring& part46,
9927 const std::wstring& part47,
9928 const std::wstring& part48,
9929 const std::wstring& part49,
9930 const std::wstring& part50,
9931 const std::wstring& part51,
9932 const std::wstring& part52,
9933 const std::wstring& part53,
9934 const std::wstring& part54,
9935 const std::wstring& part55,
9936 const std::wstring& part56,
9937 const std::wstring& part57,
9938 const std::wstring& part58,
9939 const std::wstring& part59,
9940 const std::wstring& part60,
9941 const std::wstring& part61,
9942 const std::wstring& part62,
9943 const std::wstring& part63
9944);
9945
9953template<typename ContainerT, typename FunctorT>
9954bool All(
9955 FunctorT condition,
9956 const ContainerT& container
9957) {
9958 for (const auto& item : container ) {
9959 if (!condition(item)) {
9960 return false;
9961 }
9962 }
9963 return true;
9964}
9965
9973template<typename ContainerT, typename FunctorT>
9974bool Some(
9975 FunctorT condition,
9976 const ContainerT& container
9977) {
9978 for (const auto& item : container ) {
9979 if (condition(item)) {
9980 return true;
9981 }
9982 }
9983 return false;
9984}
9985
9997template<typename FunctorT>
9999 FunctorT condition,
10000 size_t start,
10001 size_t end
10002) {
10003 for (size_t i = start; i < end; ++i) {
10004 if (!condition(i)) {
10005 return false;
10006 }
10007 }
10008 return true;
10009}
10010
10022template<typename FunctorT>
10024 FunctorT condition,
10025 size_t start,
10026 size_t end
10027) {
10028 for (size_t i = start; i < end; ++i) {
10029 if (condition(i)) {
10030 return true;
10031 }
10032 }
10033 return false;
10034}
10035
10043template<typename ContainerT, typename ValueT>
10045 const ContainerT& container,
10046 const ValueT& value
10047) {
10048 const auto container_begin = std::begin(container);
10049 const auto container_end = std::end(container);
10050 return std::find(
10051 container_begin,
10052 container_end,
10053 value
10054 ) != container_end;
10055}
10056
10063std::string WstringToUtf8(const std::wstring& text);
10064
10074std::wstring Utf8ToWstring(
10075 const char* utf8_text,
10076 size_t utf8_text_size = std::string::npos
10077);
10078
10085std::wstring Utf8ToWstring(const std::string& utf8_text);
10086
10087} // namespace common
10090} // namespace aas_3_1
10091} // namespace aas_core
10092
10093// This code has been automatically generated by aas-core-codegen.
10094// Do NOT edit or append.
10095
10096#endif // AAS_CORE_AAS_3_1_GUARD_
bool Some(FunctorT condition, const ContainerT &container)
Definition common.hpp:9974
bool SomeRange(FunctorT condition, size_t start, size_t end)
Definition common.hpp:10023
std::wstring Utf8ToWstring(const char *utf8_text, size_t utf8_text_size=std::string::npos)
std::unique_ptr< T > make_unique()
Definition common.hpp:90
bool All(FunctorT condition, const ContainerT &container)
Definition common.hpp:9954
std::string Concat(const std::string &part0, const std::string &part1)
std::string WstringToUtf8(const std::wstring &text)
bool AllRange(FunctorT condition, size_t start, size_t end)
Definition common.hpp:9998
bool Contains(const ContainerT &container, const ValueT &value)
Definition common.hpp:10044
Definition common.hpp:50