5#ifndef QDOUBLESCANPRINT_P_H
6#define QDOUBLESCANPRINT_P_H
19#include <private/qglobal_p.h>
21#if defined(Q_CC_MSVC) && (defined(QT_BOOTSTRAPPED) || defined(QT_NO_DOUBLECONVERSION))
34 QCLocaleT() : locale(_create_locale(LC_ALL,
"C"))
43 const _locale_t locale;
46# define QT_CLOCALE_HOLDER Q_GLOBAL_STATIC(QCLocaleT, cLocaleT)
47# define QT_CLOCALE cLocaleT()->locale
49inline int qDoubleSscanf(
const char *buf, _locale_t locale,
const char *format,
double *d,
52 return _sscanf_l(buf, format, locale, d, processed);
55inline int qDoubleSnprintf(
char *buf, size_t buflen, _locale_t locale,
const char *format,
double d)
57 return _snprintf_l(buf, buflen, format, locale, d);
62#elif defined(QT_BOOTSTRAPPED)
72# define QT_CLOCALE_HOLDER
75inline int qDoubleSscanf(
const char *buf,
int,
const char *format,
double *d,
int *processed)
77 return sscanf(buf, format, d, processed);
79inline int qDoubleSnprintf(
char *buf, size_t buflen,
int,
const char *format,
double d)
81 return snprintf(buf, buflen, format, d);
87# ifdef QT_NO_DOUBLECONVERSION
100# define QT_CLOCALE_HOLDER
101# define QT_CLOCALE NULL
103inline int qDoubleSscanf(
const char *buf, locale_t locale,
const char *format,
double *d,
106 return sscanf_l(buf, locale, format, d, processed);
108inline int qDoubleSnprintf(
char *buf, size_t buflen, locale_t locale,
const char *format,
double d)
110 return snprintf_l(buf, buflen, locale, format, d);
116# include <double-conversion/double-conversion.h>
117# define QT_CLOCALE_HOLDER
#define QT_CLOCALE_HOLDER
#define QStringLiteral(str)