Merge 1efee57d8c into 18400503da
This commit is contained in:
commit
2f34ac9b3d
@ -18,7 +18,9 @@
|
|||||||
#include <cmath>
|
#include <cmath>
|
||||||
#include <cstdarg>
|
#include <cstdarg>
|
||||||
#include <cstddef> // for std::ptrdiff_t
|
#include <cstddef> // for std::ptrdiff_t
|
||||||
|
#if !defined(FMT_STATIC_THOUSANDS_SEPARATOR)
|
||||||
#include <locale>
|
#include <locale>
|
||||||
|
#endif
|
||||||
|
|
||||||
#if defined(_WIN32) && defined(__MINGW32__)
|
#if defined(_WIN32) && defined(__MINGW32__)
|
||||||
# include <cstring>
|
# include <cstring>
|
||||||
@ -193,6 +195,7 @@ void report_error(FormatFunc func, int error_code,
|
|||||||
}
|
}
|
||||||
} // namespace
|
} // namespace
|
||||||
|
|
||||||
|
#if !defined(FMT_STATIC_THOUSANDS_SEPARATOR)
|
||||||
class locale {
|
class locale {
|
||||||
private:
|
private:
|
||||||
std::locale locale_;
|
std::locale locale_;
|
||||||
@ -202,6 +205,21 @@ class locale {
|
|||||||
std::locale get() { return locale_; }
|
std::locale get() { return locale_; }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
template <typename Char>
|
||||||
|
FMT_FUNC Char internal::thousands_sep(locale_provider *lp) {
|
||||||
|
std::locale loc = lp ? lp->locale().get() : std::locale();
|
||||||
|
return std::use_facet<std::numpunct<Char>>(loc).thousands_sep();
|
||||||
|
}
|
||||||
|
|
||||||
|
#else
|
||||||
|
|
||||||
|
template <typename Char>
|
||||||
|
FMT_FUNC Char internal::thousands_sep(locale_provider *lp) {
|
||||||
|
return FMT_STATIC_THOUSANDS_SEPARATOR;
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
FMT_FUNC size_t internal::count_code_points(u8string_view s) {
|
FMT_FUNC size_t internal::count_code_points(u8string_view s) {
|
||||||
const char8_t *data = s.data();
|
const char8_t *data = s.data();
|
||||||
int num_code_points = 0;
|
int num_code_points = 0;
|
||||||
@ -212,11 +230,6 @@ FMT_FUNC size_t internal::count_code_points(u8string_view s) {
|
|||||||
return num_code_points;
|
return num_code_points;
|
||||||
}
|
}
|
||||||
|
|
||||||
template <typename Char>
|
|
||||||
FMT_FUNC Char internal::thousands_sep(locale_provider *lp) {
|
|
||||||
std::locale loc = lp ? lp->locale().get() : std::locale();
|
|
||||||
return std::use_facet<std::numpunct<Char>>(loc).thousands_sep();
|
|
||||||
}
|
|
||||||
|
|
||||||
FMT_FUNC void system_error::init(
|
FMT_FUNC void system_error::init(
|
||||||
int err_code, string_view format_str, format_args args) {
|
int err_code, string_view format_str, format_args args) {
|
||||||
@ -569,8 +582,9 @@ FMT_FUNC void vprint_rgb(rgb fd, rgb bg, string_view format, format_args args) {
|
|||||||
std::fputs(internal::data::RESET_COLOR, stdout);
|
std::fputs(internal::data::RESET_COLOR, stdout);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
#if !defined(FMT_STATIC_THOUSANDS_SEPARATOR)
|
||||||
FMT_FUNC locale locale_provider::locale() { return fmt::locale(); }
|
FMT_FUNC locale locale_provider::locale() { return fmt::locale(); }
|
||||||
|
#endif
|
||||||
|
|
||||||
FMT_END_NAMESPACE
|
FMT_END_NAMESPACE
|
||||||
|
|
||||||
|
|||||||
@ -266,7 +266,7 @@ class file {
|
|||||||
long getpagesize();
|
long getpagesize();
|
||||||
|
|
||||||
#if (defined(LC_NUMERIC_MASK) || defined(_MSC_VER)) && \
|
#if (defined(LC_NUMERIC_MASK) || defined(_MSC_VER)) && \
|
||||||
!defined(__ANDROID__) && !defined(__CYGWIN__) && !defined(__OpenBSD__)
|
!defined(__ANDROID__) && !defined(__CYGWIN__) && !defined(__OpenBSD__) && !defined(__NEWLIB_H__)
|
||||||
# define FMT_LOCALE
|
# define FMT_LOCALE
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user