xtd 0.2.0
Loading...
Searching...
No Matches
__as_std_string.hpp
Go to the documentation of this file.
1
3#pragma once
4
6#if !defined(__XTD_CORE_INTERNAL__)
7#error "Do not include this file: Internal use only"
8#endif
10
11#define __XTD_STD_INTERNAL__
12#include "__xtd_std_version.hpp"
13#undef __XTD_STD_INTERNAL__
14
16namespace xtd {
32 template<>
33 [[nodiscard]] inline auto as<std::string>(const std::string& value) -> std::string {
35 }
36
40 template<>
41 [[nodiscard]] inline auto as<std::string>(std::string& value) -> std::string {
43 }
44
60 template<>
61 [[nodiscard]] inline auto as<xtd::string>(const std::string& value) -> xtd::string {
63 }
64
80 template<>
81 [[nodiscard]] inline auto as<xtd::string>(std::string& value) -> xtd::string {
83 }
84
100 template<>
101 [[nodiscard]] inline auto as<std::u8string>(const std::string& value) -> std::u8string {
103 }
104
120 template<>
121 [[nodiscard]] inline auto as<std::u8string>(std::string& value) -> std::u8string {
123 }
124
140 template<>
141 [[nodiscard]] inline auto as<std::u16string>(const std::string& value) -> std::u16string {
143 }
144
160 template<>
161 [[nodiscard]] inline auto as<std::u16string>(std::string& value) -> std::u16string {
163 }
164
180 template<>
181 [[nodiscard]] inline auto as<std::u32string>(const std::string& value) -> std::u32string {
183 }
184
200 template<>
201 [[nodiscard]] inline auto as<std::u32string>(std::string& value) -> std::u32string {
203 }
204
220 template<>
221 [[nodiscard]] inline auto as<std::wstring>(const std::string& value) -> std::wstring {
223 }
224
240 template<>
241 [[nodiscard]] inline auto as<std::wstring>(std::string& value) -> std::wstring {
243 }
244
260 template<>
261 [[nodiscard]] inline auto as<std::string>(const char* value) -> std::string {
262 return xtd::convert_string::to_string(value);
263 }
264
280 template<>
281 [[nodiscard]] inline auto as<xtd::string>(const char* value) -> xtd::string {
282 return xtd::convert_string::to_string(value);
283 }
284
300 template<>
301 [[nodiscard]] inline auto as<std::u8string>(const char* value) -> std::u8string {
303 }
304
320 template<>
321 [[nodiscard]] inline auto as<std::u16string>(const char* value) -> std::u16string {
323 }
324
340 template<>
341 [[nodiscard]] inline auto as<std::u32string>(const char* value) -> std::u32string {
343 }
344
360 template<>
361 [[nodiscard]] inline auto as<std::wstring>(const char* value) -> std::wstring {
363 }
364
380 template<>
381 [[nodiscard]] inline auto as<std::string>(char* value) -> std::string {
382 return xtd::convert_string::to_string(value);
383 }
384
400 template<>
401 [[nodiscard]] inline auto as<xtd::string>(char* value) -> xtd::string {
402 return xtd::convert_string::to_string(value);
403 }
404
420 template<>
421 [[nodiscard]] inline auto as<std::u8string>(char* value) -> std::u8string {
423 }
424
440 template<>
441 [[nodiscard]] inline auto as<std::u16string>(char* value) -> std::u16string {
443 }
444
460 template<>
461 [[nodiscard]] inline auto as<std::u32string>(char* value) -> std::u32string {
463 }
464
480 template<>
481 [[nodiscard]] inline auto as<std::wstring>(char* value) -> std::wstring {
483 }
484
500 template<>
501 [[nodiscard]] inline auto as<std::string>(const xtd::string& value) -> std::string {
502 return xtd::convert_string::to_string(value);
503 }
504
520 template<>
521 [[nodiscard]] inline auto as<std::string>(xtd::string& value) -> std::string {
522 return xtd::convert_string::to_string(value);
523 }
524
540 template<>
541 [[nodiscard]] inline auto as<xtd::string>(const xtd::string& value) -> xtd::string {
542 return xtd::convert_string::to_string(value);
543 }
544
560 template<>
561 [[nodiscard]] inline auto as<xtd::string>(xtd::string& value) -> xtd::string {
562 return xtd::convert_string::to_string(value);
563 }
564
580 template<>
581 [[nodiscard]] inline auto as<std::u8string>(const xtd::string& value) -> std::u8string {
583 }
584
600 template<>
601 [[nodiscard]] inline auto as<std::u8string>(xtd::string& value) -> std::u8string {
603 }
604
620 template<>
621 [[nodiscard]] inline auto as<std::u16string>(const xtd::string& value) -> std::u16string {
623 }
624
640 template<>
641 [[nodiscard]] inline auto as<std::u16string>(xtd::string& value) -> std::u16string {
643 }
644
660 template<>
661 [[nodiscard]] inline auto as<std::u32string>(const xtd::string& value) -> std::u32string {
663 }
664
680 template<>
681 [[nodiscard]] inline auto as<std::u32string>(xtd::string& value) -> std::u32string {
683 }
684
700 template<>
701 [[nodiscard]] inline auto as<std::wstring>(const xtd::string& value) -> std::wstring {
703 }
704
720 template<>
721 [[nodiscard]] inline auto as<std::wstring>(xtd::string& value) -> std::wstring {
723 }
724
740 template<>
741 [[nodiscard]] inline auto as<std::string>(const std::u8string& value) -> std::string {
742 return xtd::convert_string::to_string(value);
743 }
744
760 template<>
761 [[nodiscard]] inline auto as<std::string>(std::u8string& value) -> std::string {
762 return xtd::convert_string::to_string(value);
763 }
764
780 template<>
781 [[nodiscard]] inline auto as<xtd::string>(const std::u8string& value) -> xtd::string {
782 return xtd::convert_string::to_string(value);
783 }
784
800 template<>
801 [[nodiscard]] inline auto as<xtd::string>(std::u8string& value) -> xtd::string {
802 return xtd::convert_string::to_string(value);
803 }
804
820 template<>
821 [[nodiscard]] inline auto as<std::u8string>(const std::u8string& value) -> std::u8string {
823 }
824
840 template<>
841 [[nodiscard]] inline auto as<std::u8string>(std::u8string& value) -> std::u8string {
843 }
844
860 template<>
861 [[nodiscard]] inline auto as<std::u16string>(const std::u8string& value) -> std::u16string {
863 }
864
880 template<>
881 [[nodiscard]] inline auto as<std::u16string>(std::u8string& value) -> std::u16string {
883 }
884
900 template<>
901 [[nodiscard]] inline auto as<std::u32string>(const std::u8string& value) -> std::u32string {
903 }
904
920 template<>
921 [[nodiscard]] inline auto as<std::u32string>(std::u8string& value) -> std::u32string {
923 }
924
940 template<>
941 [[nodiscard]] inline auto as<std::wstring>(const std::u8string& value) -> std::wstring {
943 }
944
960 template<>
961 [[nodiscard]] inline auto as<std::wstring>(std::u8string& value) -> std::wstring {
963 }
964
980 template<>
981 [[nodiscard]] inline auto as<std::string>(const char8* value) -> std::string {
982 return xtd::convert_string::to_string(value);
983 }
984
1000 template<>
1001 [[nodiscard]] inline auto as<xtd::string>(const char8* value) -> xtd::string {
1002 return xtd::convert_string::to_string(value);
1003 }
1004
1020 template<>
1021 [[nodiscard]] inline auto as<std::u8string>(const char8* value) -> std::u8string {
1023 }
1024
1040 template<>
1041 [[nodiscard]] inline auto as<std::u16string>(const char8* value) -> std::u16string {
1043 }
1044
1060 template<>
1061 [[nodiscard]] inline auto as<std::u32string>(const char8* value) -> std::u32string {
1063 }
1064
1080 template<>
1081 [[nodiscard]] inline auto as<std::wstring>(const char8* value) -> std::wstring {
1082 return xtd::convert_string::to_wstring(value);
1083 }
1084
1100 template<>
1101 [[nodiscard]] inline auto as<std::string>(char8* value) -> std::string {
1102 return xtd::convert_string::to_string(value);
1103 }
1104
1120 template<>
1121 [[nodiscard]] inline auto as<xtd::string>(char8* value) -> xtd::string {
1122 return xtd::convert_string::to_string(value);
1123 }
1124
1140 template<>
1141 [[nodiscard]] inline auto as<std::u8string>(char8* value) -> std::u8string {
1143 }
1144
1160 template<>
1161 [[nodiscard]] inline auto as<std::u16string>(char8* value) -> std::u16string {
1163 }
1164
1180 template<>
1181 [[nodiscard]] inline auto as<std::u32string>(char8* value) -> std::u32string {
1183 }
1184
1200 template<>
1201 [[nodiscard]] inline auto as<std::wstring>(char8* value) -> std::wstring {
1202 return xtd::convert_string::to_wstring(value);
1203 }
1204
1220 template<>
1221 [[nodiscard]] inline auto as<std::string>(const std::u16string& value) -> std::string {
1222 return xtd::convert_string::to_string(value);
1223 }
1224
1240 template<>
1241 [[nodiscard]] inline auto as<std::string>(std::u16string& value) -> std::string {
1242 return xtd::convert_string::to_string(value);
1243 }
1244
1260 template<>
1261 [[nodiscard]] inline auto as<xtd::string>(const std::u16string& value) -> xtd::string {
1262 return xtd::convert_string::to_string(value);
1263 }
1264
1280 template<>
1281 [[nodiscard]] inline auto as<xtd::string>(std::u16string& value) -> xtd::string {
1282 return xtd::convert_string::to_string(value);
1283 }
1284
1300 template<>
1301 [[nodiscard]] inline auto as<std::u8string>(const std::u16string& value) -> std::u8string {
1303 }
1304
1320 template<>
1321 [[nodiscard]] inline auto as<std::u8string>(std::u16string& value) -> std::u8string {
1323 }
1324
1340 template<>
1341 [[nodiscard]] inline auto as<std::u16string>(const std::u16string& value) -> std::u16string {
1343 }
1344
1360 template<>
1361 [[nodiscard]] inline auto as<std::u16string>(std::u16string& value) -> std::u16string {
1363 }
1364
1380 template<>
1381 [[nodiscard]] inline auto as<std::u32string>(const std::u16string& value) -> std::u32string {
1383 }
1384
1400 template<>
1401 [[nodiscard]] inline auto as<std::u32string>(std::u16string& value) -> std::u32string {
1403 }
1404
1420 template<>
1421 [[nodiscard]] inline auto as<std::wstring>(const std::u16string& value) -> std::wstring {
1422 return xtd::convert_string::to_wstring(value);
1423 }
1424
1440 template<>
1441 [[nodiscard]] inline auto as<std::wstring>(std::u16string& value) -> std::wstring {
1442 return xtd::convert_string::to_wstring(value);
1443 }
1444
1460 template<>
1461 [[nodiscard]] inline auto as<std::string>(const char16* value) -> std::string {
1462 return xtd::convert_string::to_string(value);
1463 }
1464
1480 template<>
1481 [[nodiscard]] inline auto as<xtd::string>(const char16* value) -> xtd::string {
1482 return xtd::convert_string::to_string(value);
1483 }
1484
1500 template<>
1501 [[nodiscard]] inline auto as<std::u8string>(const char16* value) -> std::u8string {
1503 }
1504
1520 template<>
1521 [[nodiscard]] inline auto as<std::u16string>(const char16* value) -> std::u16string {
1523 }
1524
1540 template<>
1541 [[nodiscard]] inline auto as<std::u32string>(const char16* value) -> std::u32string {
1543 }
1544
1560 template<>
1561 [[nodiscard]] inline auto as<std::wstring>(const char16* value) -> std::wstring {
1562 return xtd::convert_string::to_wstring(value);
1563 }
1564
1580 template<>
1581 [[nodiscard]] inline auto as<std::string>(char16* value) -> std::string {
1582 return xtd::convert_string::to_string(value);
1583 }
1584
1600 template<>
1601 [[nodiscard]] inline auto as<xtd::string>(char16* value) -> xtd::string {
1602 return xtd::convert_string::to_string(value);
1603 }
1604
1620 template<>
1621 [[nodiscard]] inline auto as<std::u8string>(char16* value) -> std::u8string {
1623 }
1624
1640 template<>
1641 [[nodiscard]] inline auto as<std::u16string>(char16* value) -> std::u16string {
1643 }
1644
1660 template<>
1661 [[nodiscard]] inline auto as<std::u32string>(char16* value) -> std::u32string {
1663 }
1664
1680 template<>
1681 [[nodiscard]] inline auto as<std::wstring>(char16* value) -> std::wstring {
1682 return xtd::convert_string::to_wstring(value);
1683 }
1684
1700 template<>
1701 [[nodiscard]] inline auto as<std::string>(const std::u32string& value) -> std::string {
1702 return xtd::convert_string::to_string(value);
1703 }
1704
1720 template<>
1721 [[nodiscard]] inline auto as<std::string>(std::u32string& value) -> std::string {
1722 return xtd::convert_string::to_string(value);
1723 }
1724
1740 template<>
1741 [[nodiscard]] inline auto as<xtd::string>(const std::u32string& value) -> xtd::string {
1742 return xtd::convert_string::to_string(value);
1743 }
1744
1760 template<>
1761 [[nodiscard]] inline auto as<xtd::string>(std::u32string& value) -> xtd::string {
1762 return xtd::convert_string::to_string(value);
1763 }
1764
1780 template<>
1781 [[nodiscard]] inline auto as<std::u8string>(const std::u32string& value) -> std::u8string {
1783 }
1784
1800 template<>
1801 [[nodiscard]] inline auto as<std::u8string>(std::u32string& value) -> std::u8string {
1803 }
1804
1820 template<>
1821 [[nodiscard]] inline auto as<std::u16string>(const std::u32string& value) -> std::u16string {
1823 }
1824
1840 template<>
1841 [[nodiscard]] inline auto as<std::u16string>(std::u32string& value) -> std::u16string {
1843 }
1844
1860 template<>
1861 [[nodiscard]] inline auto as<std::u32string>(const std::u32string& value) -> std::u32string {
1863 }
1864
1880 template<>
1881 [[nodiscard]] inline auto as<std::u32string>(std::u32string& value) -> std::u32string {
1883 }
1884
1900 template<>
1901 [[nodiscard]] inline auto as<std::wstring>(const std::u32string& value) -> std::wstring {
1902 return xtd::convert_string::to_wstring(value);
1903 }
1904
1920 template<>
1921 [[nodiscard]] inline auto as<std::wstring>(std::u32string& value) -> std::wstring {
1922 return xtd::convert_string::to_wstring(value);
1923 }
1924
1940 template<>
1941 [[nodiscard]] inline auto as<std::string>(const char32* value) -> std::string {
1942 return xtd::convert_string::to_string(value);
1943 }
1944
1960 template<>
1961 [[nodiscard]] inline auto as<xtd::string>(const char32* value) -> xtd::string {
1962 return xtd::convert_string::to_string(value);
1963 }
1964
1980 template<>
1981 [[nodiscard]] inline auto as<std::u8string>(const char32* value) -> std::u8string {
1983 }
1984
2000 template<>
2001 [[nodiscard]] inline auto as<std::u16string>(const char32* value) -> std::u16string {
2003 }
2004
2020 template<>
2021 [[nodiscard]] inline auto as<std::u32string>(const char32* value) -> std::u32string {
2023 }
2024
2040 template<>
2041 [[nodiscard]] inline auto as<std::wstring>(const char32* value) -> std::wstring {
2042 return xtd::convert_string::to_wstring(value);
2043 }
2044
2060 template<>
2061 [[nodiscard]] inline auto as<std::string>(char32* value) -> std::string {
2062 return xtd::convert_string::to_string(value);
2063 }
2064
2080 template<>
2081 [[nodiscard]] inline auto as<xtd::string>(char32* value) -> xtd::string {
2082 return xtd::convert_string::to_string(value);
2083 }
2084
2100 template<>
2101 [[nodiscard]] inline auto as<std::u8string>(char32* value) -> std::u8string {
2103 }
2104
2120 template<>
2121 [[nodiscard]] inline auto as<std::u16string>(char32* value) -> std::u16string {
2123 }
2124
2140 template<>
2141 [[nodiscard]] inline auto as<std::u32string>(char32* value) -> std::u32string {
2143 }
2144
2160 template<>
2161 [[nodiscard]] inline auto as<std::wstring>(char32* value) -> std::wstring {
2162 return xtd::convert_string::to_wstring(value);
2163 }
2164
2180 template<>
2181 [[nodiscard]] inline auto as<std::string>(const std::wstring& value) -> std::string {
2182 return xtd::convert_string::to_string(value);
2183 }
2184
2200 template<>
2201 [[nodiscard]] inline auto as<std::string>(std::wstring& value) -> std::string {
2202 return xtd::convert_string::to_string(value);
2203 }
2204
2220 template<>
2221 [[nodiscard]] inline auto as<xtd::string>(const std::wstring& value) -> xtd::string {
2222 return xtd::convert_string::to_string(value);
2223 }
2224
2240 template<>
2241 [[nodiscard]] inline auto as<xtd::string>(std::wstring& value) -> xtd::string {
2242 return xtd::convert_string::to_string(value);
2243 }
2244
2260 template<>
2261 [[nodiscard]] inline auto as<std::u8string>(const std::wstring& value) -> std::u8string {
2263 }
2264
2280 template<>
2281 [[nodiscard]] inline auto as<std::u8string>(std::wstring& value) -> std::u8string {
2283 }
2284
2300 template<>
2301 [[nodiscard]] inline auto as<std::u16string>(const std::wstring& value) -> std::u16string {
2303 }
2304
2320 template<>
2321 [[nodiscard]] inline auto as<std::u16string>(std::wstring& value) -> std::u16string {
2323 }
2324
2340 template<>
2341 [[nodiscard]] inline auto as<std::u32string>(const std::wstring& value) -> std::u32string {
2343 }
2344
2360 template<>
2361 [[nodiscard]] inline auto as<std::u32string>(std::wstring& value) -> std::u32string {
2363 }
2364
2380 template<>
2381 [[nodiscard]] inline auto as<std::wstring>(const std::wstring& value) -> std::wstring {
2382 return xtd::convert_string::to_wstring(value);
2383 }
2384
2400 template<>
2401 [[nodiscard]] inline auto as<std::wstring>(std::wstring& value) -> std::wstring {
2402 return xtd::convert_string::to_wstring(value);
2403 }
2404
2420 template<>
2421 [[nodiscard]] inline auto as<std::string>(const wchar* value) -> std::string {
2422 return xtd::convert_string::to_string(value);
2423 }
2424
2440 template<>
2441 [[nodiscard]] inline auto as<xtd::string>(const wchar* value) -> xtd::string {
2442 return xtd::convert_string::to_string(value);
2443 }
2444
2460 template<>
2461 [[nodiscard]] inline auto as<std::u8string>(const wchar* value) -> std::u8string {
2463 }
2464
2480 template<>
2481 [[nodiscard]] inline auto as<std::u16string>(const wchar* value) -> std::u16string {
2483 }
2484
2500 template<>
2501 [[nodiscard]] inline auto as<std::u32string>(const wchar* value) -> std::u32string {
2503 }
2504
2520 template<>
2521 [[nodiscard]] inline auto as<std::wstring>(const wchar* value) -> std::wstring {
2522 return xtd::convert_string::to_wstring(value);
2523 }
2524
2540 template<>
2541 [[nodiscard]] inline auto as<std::string>(wchar* value) -> std::string {
2542 return xtd::convert_string::to_string(value);
2543 }
2544
2560 template<>
2561 [[nodiscard]] inline auto as<xtd::string>(wchar* value) -> xtd::string {
2562 return xtd::convert_string::to_string(value);
2563 }
2564
2580 template<>
2581 [[nodiscard]] inline auto as<std::u8string>(wchar* value) -> std::u8string {
2583 }
2584
2600 template<>
2601 [[nodiscard]] inline auto as<std::u16string>(wchar* value) -> std::u16string {
2603 }
2604
2620 template<>
2621 [[nodiscard]] inline auto as<std::u32string>(wchar* value) -> std::u32string {
2623 }
2624
2640 template<>
2641 [[nodiscard]] inline auto as<std::wstring>(wchar* value) -> std::wstring {
2642 return xtd::convert_string::to_wstring(value);
2643 }
2644}
static xtd::u16string to_u16string(const xtd::string &str) noexcept
Converts xtd::string to xtd::u16string.
static const xtd::string & to_string(const xtd::string &str) noexcept
Converts xtd::string to xtd::string.
static xtd::u8string to_u8string(const xtd::string &str) noexcept
Converts xtd::string to xtd::u8string.
static xtd::u32string to_u32string(const xtd::string &str) noexcept
Converts xtd::string to xtd::u32string.
static xtd::wstring to_wstring(const xtd::string &str) noexcept
Converts xtd::string to xtd::wstring.
xtd::basic_string< char > string
Represents text as a sequence of UTF-8 code units.
Definition __string_definitions.hpp:43
char8_t char8
Represents a 8-bit unicode character.
Definition char8.hpp:26
wchar_t wchar
Represents a wide character.
Definition wchar.hpp:24
char16_t char16
Represents a 16-bit unicode character.
Definition char16.hpp:26
char32_t char32
Represents a 32-bit unicode character.
Definition char32.hpp:23
auto as(any_object &o) -> type_t
Casts a type into another type.
Definition __as_any_object.hpp:59
auto as< std::string >(const std::string &value) -> std::string
Casts a type into another type.
Definition __as_std_string.hpp:33
auto as< xtd::string >(xtd::any value) -> xtd::string
Casts a type into another type.
Definition __as_string.hpp:36
The xtd namespace contains all fundamental classes to access Hardware, Os, System,...
Definition abstract_object.hpp:8