6#define __XTD_CORE_INTERNAL__
7#include "internal/__binary_formatter.h"
8#include "internal/__boolean_formatter.h"
9#include "internal/__character_formatter.h"
10#include "internal/__currency_formatter.h"
11#include "internal/__date_time_formatter.h"
12#include "internal/__duration_formatter.h"
13#include "internal/__enum_formatter.h"
14#include "internal/__fixed_point_formatter.h"
15#include "internal/__natural_formatter.h"
16#include "internal/__numeric_formatter.h"
17#include "internal/__string_formatter.h"
18#undef __XTD_CORE_INTERNAL__
35 template<
typename value_t>
36 inline std::string
to_string(
const value_t& value,
const std::string& fmt,
const std::locale& loc) {
return __to_string_enum(value, fmt, loc, std::is_enum<value_t>());}
49 inline std::string
to_string(
const bool& value,
const std::string& fmt,
const std::locale& loc) {
return __boolean_formatter(fmt, value, loc);}
62 inline std::string
to_string(
const sbyte& value,
const std::string& fmt,
const std::locale& loc) {
return __numeric_formatter(fmt, value, loc);}
75 inline std::string
to_string(
const char& value,
const std::string& fmt,
const std::locale& loc) {
return __numeric_formatter(fmt, value, loc);}
88 inline std::string
to_string(
const unsigned char& value,
const std::string& fmt,
const std::locale& loc) {
return __numeric_formatter(fmt, value, loc);}
101 inline std::string
to_string(
const short& value,
const std::string& fmt,
const std::locale& loc) {
return __numeric_formatter(fmt, value, loc);}
114 inline std::string
to_string(
const unsigned short& value,
const std::string& fmt,
const std::locale& loc) {
return __numeric_formatter(fmt, value, loc);}
127 inline std::string
to_string(
const int& value,
const std::string& fmt,
const std::locale& loc) {
return __numeric_formatter(fmt, value, loc);}
140 inline std::string
to_string(
const unsigned int& value,
const std::string& fmt,
const std::locale& loc) {
return __numeric_formatter(fmt, value, loc);}
153 inline std::string
to_string(
const long& value,
const std::string& fmt,
const std::locale& loc) {
return __numeric_formatter(fmt, value, loc);}
166 inline std::string
to_string(
const unsigned long& value,
const std::string& fmt,
const std::locale& loc) {
return __numeric_formatter(fmt, value, loc);}
179 inline std::string
to_string(
const long long& value,
const std::string& fmt,
const std::locale& loc) {
return __numeric_formatter(fmt, value, loc);}
192 inline std::string
to_string(
const unsigned long long& value,
const std::string& fmt,
const std::locale& loc) {
return __numeric_formatter(fmt, value, loc);}
205 inline std::string
to_string(
const float& value,
const std::string& fmt,
const std::locale& loc) {
return __fixed_point_formatter(fmt, value, loc);}
218 inline std::string
to_string(
const double& value,
const std::string& fmt,
const std::locale& loc) {
return __fixed_point_formatter(fmt, value, loc);}
231 inline std::string
to_string(
const long double& value,
const std::string& fmt,
const std::locale& loc) {
return __fixed_point_formatter(fmt, value, loc);}
244 inline std::string
to_string(
const std::chrono::system_clock::time_point& value,
const std::string& fmt,
const std::locale& loc) {
return __date_time_formatter(fmt, std::chrono::system_clock::to_time_t(value), std::chrono::duration_cast<std::chrono::nanoseconds>(value.time_since_epoch()).count() % 1000000000, loc);}
257 inline std::string
to_string(
const std::tm& value,
const std::string& fmt,
const std::locale& loc) {
return __date_time_formatter(fmt, value, 0, loc);}
269 template<
typename type_t,
typename Period>
270 inline std::string
to_string(
const std::chrono::duration<type_t, Period>& value,
const std::string& fmt,
const std::locale& loc) {
return __duration_formatter(fmt, value, loc);}
272#if defined(__cpp_lib_char8_t)
284 inline std::string
to_string(
const char8& value,
const std::string& fmt,
const std::locale& loc) {
return __character_formatter(fmt, value, loc);}
298 inline std::string
to_string(
const char16& value,
const std::string& fmt,
const std::locale& loc) {
return __character_formatter(fmt, value, loc);}
311 inline std::string
to_string(
const char32& value,
const std::string& fmt,
const std::locale& loc) {
return __character_formatter(fmt, value, loc);}
324 inline std::string
to_string(
const wchar& value,
const std::string& fmt,
const std::locale& loc) {
return __character_formatter(fmt, value, loc);}
327 std::string
to_string(
const char* value,
const std::string& fmt,
const std::locale& loc);
328#if defined(__cpp_lib_char8_t)
329 std::string
to_string(
const char8* value,
const std::string& fmt,
const std::locale& loc);
331 std::string
to_string(
const char16* value,
const std::string& fmt,
const std::locale& loc);
332 std::string
to_string(
const char32* value,
const std::string& fmt,
const std::locale& loc);
333 std::string
to_string(
const wchar* value,
const std::string& fmt,
const std::locale& loc);
334 std::string
to_string(
const std::string& value,
const std::string& fmt,
const std::locale& loc);
336#if defined(__cpp_lib_char8_t)
337 std::string
to_string(
const std::u8string& value,
const std::string& fmt,
const std::locale& loc);
339 std::string
to_string(
const std::u16string& value,
const std::string& fmt,
const std::locale& loc);
340 std::string
to_string(
const std::u32string& value,
const std::string& fmt,
const std::locale& loc);
341 std::string
to_string(
const std::wstring& value,
const std::string& fmt,
const std::locale& loc);
353 template<
typename value_t>
354 inline std::string
to_string(
const value_t& value,
const std::string& fmt) {
return to_string(value, fmt, std::locale());}
357 inline std::string
to_string(
const char* value,
const std::string& fmt) {
return to_string(value, fmt, std::locale());}
370 template<
typename value_t>
371 inline std::wstring
to_string(
const value_t& value,
const std::wstring& fmt,
const std::locale& loc) {
return __to_string_enum(value, fmt, loc, std::is_enum<value_t>());}
384 inline std::wstring
to_string(
const bool& value,
const std::wstring& fmt,
const std::locale& loc) {
return __boolean_formatter(fmt, value, loc);}
397 inline std::wstring
to_string(
const sbyte& value,
const std::wstring& fmt,
const std::locale& loc) {
return __numeric_formatter(fmt, value, loc);}
410 inline std::wstring
to_string(
const char& value,
const std::wstring& fmt,
const std::locale& loc) {
return __numeric_formatter(fmt, value, loc);}
423 inline std::wstring
to_string(
const unsigned char& value,
const std::wstring& fmt,
const std::locale& loc) {
return __numeric_formatter(fmt, value, loc);}
436 inline std::wstring
to_string(
const short& value,
const std::wstring& fmt,
const std::locale& loc) {
return __numeric_formatter(fmt, value, loc);}
449 inline std::wstring
to_string(
const unsigned short& value,
const std::wstring& fmt,
const std::locale& loc) {
return __numeric_formatter(fmt, value, loc);}
462 inline std::wstring
to_string(
const int& value,
const std::wstring& fmt,
const std::locale& loc) {
return __numeric_formatter(fmt, value, loc);}
475 inline std::wstring
to_string(
const unsigned int& value,
const std::wstring& fmt,
const std::locale& loc) {
return __numeric_formatter(fmt, value, loc);}
488 inline std::wstring
to_string(
const long& value,
const std::wstring& fmt,
const std::locale& loc) {
return __numeric_formatter(fmt, value, loc);}
501 inline std::wstring
to_string(
const unsigned long& value,
const std::wstring& fmt,
const std::locale& loc) {
return __numeric_formatter(fmt, value, loc);}
514 inline std::wstring
to_string(
const long long& value,
const std::wstring& fmt,
const std::locale& loc) {
return __numeric_formatter(fmt, value, loc);}
527 inline std::wstring
to_string(
const unsigned long long& value,
const std::wstring& fmt,
const std::locale& loc) {
return __numeric_formatter(fmt, value, loc);}
540 inline std::wstring
to_string(
const float& value,
const std::wstring& fmt,
const std::locale& loc) {
return __fixed_point_formatter(fmt, value, loc);}
553 inline std::wstring
to_string(
const double& value,
const std::wstring& fmt,
const std::locale& loc) {
return __fixed_point_formatter(fmt, value, loc);}
566 inline std::wstring
to_string(
const long double& value,
const std::wstring& fmt,
const std::locale& loc) {
return __fixed_point_formatter(fmt, value, loc);}
579 inline std::wstring
to_string(
const std::chrono::system_clock::time_point& value,
const std::wstring& fmt,
const std::locale& loc) {
return __date_time_formatter(fmt, std::chrono::system_clock::to_time_t(value), std::chrono::duration_cast<std::chrono::milliseconds>(value.time_since_epoch()).count() % 1000000000, loc);}
592 inline std::wstring
to_string(
const std::tm& value,
const std::wstring& fmt,
const std::locale& loc) {
return __date_time_formatter(fmt, value, 0, loc);}
604 template<
typename type_t,
typename Period>
605 inline std::wstring
to_string(
const std::chrono::duration<type_t, Period>& value,
const std::wstring& fmt,
const std::locale& loc) {
return __duration_formatter(fmt, value, loc);}
618 inline std::wstring
to_string(
const std::wstring& value,
const std::wstring& fmt,
const std::locale& loc) {
return __string_formatter(fmt, value, loc);}
620#if defined(__cpp_lib_char8_t)
632 inline std::wstring
to_string(
const char8& value,
const std::wstring& fmt,
const std::locale& loc) {
return __character_formatter(fmt, value, loc);}
646 inline std::wstring
to_string(
const char16& value,
const std::wstring& fmt,
const std::locale& loc) {
return __character_formatter(fmt, value, loc);}
659 inline std::wstring
to_string(
const char32& value,
const std::wstring& fmt,
const std::locale& loc) {
return __character_formatter(fmt, value, loc);}
672 inline std::wstring
to_string(
const wchar& value,
const std::wstring& fmt,
const std::locale& loc) {
return __character_formatter(fmt, value, loc);}
675 inline std::wstring
to_string(
const wchar* value,
const std::wstring& fmt,
const std::locale& loc) {
return __string_formatter(fmt, value, loc);}
687 template<
typename value_t>
688 inline std::wstring
to_string(
const value_t& value,
const std::wstring& fmt) {
return to_string(value, fmt, std::locale());}
691 inline std::wstring
to_string(
const wchar* value,
const std::wstring& fmt) {
return to_string(value, fmt, std::locale());}
Represents text as a sequence of UTF-8 code units.
Definition ustring.h:47
char8_t char8
Represents a 8-bit unicode character.
Definition types.h:64
wchar_t wchar
Represents a wide character.
Definition types.h:286
char16_t char16
Represents a 16-bit unicode character.
Definition types.h:76
int_least8_t sbyte
Represents a 8-bit signed integer.
Definition types.h:175
char32_t char32
Represents a 32-bit unicode character.
Definition types.h:87
std::string to_string(const date_time &value, const std::string &fmt, const std::locale &loc)
Convert a specified value into a string with specified format and locale.
Definition date_time.h:1080
The xtd namespace contains all fundamental classes to access Hardware, Os, System,...
Definition xtd_about_box.h:10
Contains xtd fundamental types.