15 using locale_t = _locale_t;
17 inline locale_t create_locale(_In_
int category, _In_z_
const char* locale) {
return _create_locale(category, locale); }
18 inline locale_t create_locale(_In_
int category, _In_z_
const wchar_t* locale) {
return _wcreate_locale(category, locale); }
19 inline void free_locale(_In_opt_ locale_t locale) { _free_locale(locale); }
21 using locale_t = ::locale_t;
23 inline locale_t create_locale(_In_
int category, _In_z_
const char* locale)
27 case LC_ALL : mask = LC_ALL_MASK ;
break;
28 case LC_COLLATE : mask = LC_COLLATE_MASK ;
break;
29 case LC_CTYPE : mask = LC_CTYPE_MASK ;
break;
30 case LC_MESSAGES: mask = LC_MESSAGES_MASK;
break;
31 case LC_MONETARY: mask = LC_MONETARY_MASK;
break;
32 case LC_NUMERIC : mask = LC_NUMERIC_MASK ;
break;
33 case LC_TIME : mask = LC_TIME_MASK ;
break;
35 return newlocale(mask, locale, LC_GLOBAL_LOCALE);
38 inline void free_locale(_In_opt_ locale_t locale) { freelocale(locale); }
59 using locale = std::unique_ptr<__crt_locale_pointers, free_locale_delete>;
60#elif defined(__APPLE__)
61 using locale = std::unique_ptr<struct _xlocale, free_locale_delete>;
63 using locale = std::unique_ptr<struct __locale_struct, free_locale_delete>;
69 const inline locale locale_C(create_locale(LC_ALL,
"C"));
Deleter for unique_ptr using free_locale.
Definition locale.hpp:45
void operator()(locale_t locale) const
Delete a pointer.
Definition locale.hpp:49