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