193#include "private/qtextstream_p.h"
198#include <private/qdebug_p.h>
199#include <private/qnumeric_p.h>
200#include <private/qtools_p.h>
203#include "private/qlocale_p.h"
204#include "private/qstringconverter_p.h"
212#define CHECK_VALID_STREAM(x) do { \
213 if (!d->string && !d->device) { \
214 qWarning("QTextStream: No device"); \
219#define IMPLEMENT_STREAM_RIGHT_INT_OPERATOR(type) do { \
221 CHECK_VALID_STREAM(*this); \
223 switch (d->getNumber(&tmp)) { \
224 case QTextStreamPrivate::npsOk: \
227 case QTextStreamPrivate::npsMissingDigit: \
228 case QTextStreamPrivate::npsInvalidPrefix: \
230 setStatus(atEnd() ? QTextStream::ReadPastEnd : QTextStream::ReadCorruptData); \
233 return *this; } while (0)
235#define IMPLEMENT_STREAM_RIGHT_REAL_OPERATOR(type) do { \
237 CHECK_VALID_STREAM(*this); \
239 if (d->getReal(&tmp)) { \
243 setStatus(atEnd() ? QTextStream::ReadPastEnd : QTextStream::ReadCorruptData); \
245 return *this; } while (0)
258 : readConverterSavedStateOffset(0),
339#
if !defined(QT_NO_QOBJECT)
363#ifndef QT_BOOTSTRAPPED
375#if defined (QTEXTSTREAM_DEBUG)
380#if defined (QTEXTSTREAM_DEBUG)
381 qDebug(
"QTextStreamPrivate::fillReadBuffer(), device->read(\"%s\", %d) == %d",
389 if (
readBuffer.size() > oldReadBufferSize && textModeEnabled) {
395 int n = oldReadBufferSize;
400 if (++writePtr == endPtr)
418#if defined (QTEXTSTREAM_DEBUG)
419 qDebug(
"QTextStreamPrivate::fillReadBuffer() read %d bytes from device. readBuffer = [%s]",
int(bytesRead),
447 if (
status != QTextStream::Ok)
453#if defined (Q_OS_WIN)
456 if (textModeEnabled) {
468#if defined (QTEXTSTREAM_DEBUG)
469 qDebug(
"QTextStreamPrivate::flushWriteBuffer(), device->write(\"%s\") == %d",
473#if defined (Q_OS_WIN)
480 status = QTextStream::WriteFailed;
492#if defined (QTEXTSTREAM_DEBUG)
493 qDebug(
"QTextStreamPrivate::flushWriteBuffer() wrote %d bytes",
497 status = QTextStream::WriteFailed;
513#if defined (QTEXTSTREAM_DEBUG)
514 qDebug(
"QTextStreamPrivate::read() maxlen = %d, token length = %d", maxlen,
ret.length());
530 bool consumeDelimiter =
false;
531 bool foundToken =
false;
542 chPtr =
string->constData();
543 endOffset =
string->size();
545 chPtr += startOffset;
547 for (; !foundToken && startOffset < endOffset && (!maxlen || totalSize < maxlen); ++startOffset) {
567 delimSize = (lastChar == u
'\r') ? 2 : 1;
568 consumeDelimiter =
true;
575 && (!maxlen || totalSize < maxlen)
578 if (totalSize == 0) {
579#if defined (QTEXTSTREAM_DEBUG)
580 qDebug(
"QTextStreamPrivate::scan() reached the end of input.");
587 if (delimiter ==
EndOfLine && totalSize > 0 && !foundToken) {
589 && lastChar == u
'\r') {
590 consumeDelimiter =
true;
597 *
length = totalSize - delimSize;
604 if (!consumeDelimiter)
607#if defined (QTEXTSTREAM_DEBUG)
608 qDebug(
"QTextStreamPrivate::scan(%p, %p, %d, %x) token length = %d, delimiter = %d",
609 ptr,
length, maxlen, (
int)delimiter, totalSize - delimSize, delimSize);
640#if defined (QTEXTSTREAM_DEBUG)
641 qDebug(
"QTextStreamPrivate::consume(%d)",
size);
721 string->append(
data);
787 if (
params.fieldWidth > 0)
803 const int padSize =
params.fieldWidth -
len;
805 switch (
params.fieldAlignment) {
806 case QTextStream::AlignLeft:
809 case QTextStream::AlignRight:
810 case QTextStream::AlignAccountingStyle:
813 case QTextStream::AlignCenter:
815 right = padSize - padSize/2;
832 if (
params.fieldAlignment == QTextStream::AlignAccountingStyle &&
number) {
861 if (
params.fieldAlignment == QTextStream::AlignAccountingStyle &&
number) {
889QTextStream::QTextStream()
892#if defined (QTEXTSTREAM_DEBUG)
893 qDebug(
"QTextStream::QTextStream()");
905#if defined (QTEXTSTREAM_DEBUG)
906 qDebug(
"QTextStream::QTextStream(QIODevice *device == *%p)",
912 d->deviceClosedNotifier.setupDevice(
this,
d->device);
921QTextStream::QTextStream(
QString *
string, OpenMode openMode)
924#if defined (QTEXTSTREAM_DEBUG)
925 qDebug(
"QTextStream::QTextStream(QString *string == *%p, openMode = %d)",
926 string,
int(openMode));
930 d->stringOpenMode = openMode;
942#if defined (QTEXTSTREAM_DEBUG)
943 qDebug(
"QTextStream::QTextStream(QByteArray *array == *%p, openMode = %d)",
944 array,
int(openMode));
948 d->device->open(openMode);
949 d->deleteDevice =
true;
951 d->deviceClosedNotifier.setupDevice(
this,
d->device);
969#if defined (QTEXTSTREAM_DEBUG)
970 qDebug(
"QTextStream::QTextStream(const QByteArray &array == *(%p), openMode = %d)",
971 &
array,
int(openMode));
979 d->deleteDevice =
true;
981 d->deviceClosedNotifier.setupDevice(
this,
d->device);
997QTextStream::QTextStream(FILE *fileHandle, OpenMode openMode)
1000#if defined (QTEXTSTREAM_DEBUG)
1001 qDebug(
"QTextStream::QTextStream(FILE *fileHandle = %p, openMode = %d)",
1002 fileHandle,
int(openMode));
1012 d->deleteDevice =
true;
1013#ifndef QT_NO_QOBJECT
1014 d->deviceClosedNotifier.setupDevice(
this,
d->device);
1025QTextStream::~QTextStream()
1028#if defined (QTEXTSTREAM_DEBUG)
1029 qDebug(
"QTextStream::~QTextStream()");
1031 if (!
d->writeBuffer.isEmpty())
1032 d->flushWriteBuffer();
1040void QTextStream::reset()
1052void QTextStream::flush()
1055 d->flushWriteBuffer();
1065 d->lastTokenSize = 0;
1069 d->flushWriteBuffer();
1070 if (!
d->device->seek(
pos))
1072 d->resetReadBuffer();
1074 d->toUtf16.resetState();
1075 d->fromUtf16.resetState();
1080 if (
d->string && pos <= d->
string->size()) {
1081 d->stringOffset = int(
pos);
1101qint64 QTextStream::pos()
const
1106 if (
d->readBuffer.isEmpty())
1107 return d->device->pos();
1108 if (
d->device->isSequential())
1112 if (!
d->device->seek(
d->readBufferStartDevicePos))
1119 thatd->restoreToSavedConverterState();
1120 if (
d->readBufferStartDevicePos == 0)
1121 thatd->autoDetectUnicode =
true;
1125 int oldReadBufferOffset =
d->readBufferOffset +
d->readConverterSavedStateOffset;
1126 while (
d->readBuffer.size() < oldReadBufferOffset) {
1127 if (!thatd->fillReadBuffer(1))
1130 thatd->readBufferOffset = oldReadBufferOffset;
1131 thatd->readConverterSavedStateOffset = 0;
1134 return d->device->pos();
1138 return d->stringOffset;
1140 qWarning(
"QTextStream::pos: no device");
1155void QTextStream::skipWhiteSpace()
1160 d->consumeLastToken();
1177 if (
d->deleteDevice) {
1178#ifndef QT_NO_QOBJECT
1179 d->deviceClosedNotifier.disconnect();
1182 d->deleteDevice =
false;
1188 d->resetReadBuffer();
1189#ifndef QT_NO_QOBJECT
1190 d->deviceClosedNotifier.setupDevice(
this,
d->device);
1213void QTextStream::setString(
QString *
string, OpenMode openMode)
1217 if (
d->deleteDevice) {
1218#ifndef QT_NO_QOBJECT
1219 d->deviceClosedNotifier.disconnect();
1220 d->device->blockSignals(
true);
1223 d->deleteDevice =
false;
1229 d->stringOpenMode = openMode;
1238QString *QTextStream::string()
const
1252void QTextStream::setFieldAlignment(FieldAlignment
mode)
1255 d->params.fieldAlignment =
mode;
1263QTextStream::FieldAlignment QTextStream::fieldAlignment()
const
1266 return d->params.fieldAlignment;
1284void QTextStream::setPadChar(
QChar ch)
1287 d->params.padChar =
ch;
1295QChar QTextStream::padChar()
const
1298 return d->params.padChar;
1313void QTextStream::setFieldWidth(
int width)
1316 d->params.fieldWidth =
width;
1324int QTextStream::fieldWidth()
const
1327 return d->params.fieldWidth;
1338void QTextStream::setNumberFlags(NumberFlags
flags)
1341 d->params.numberFlags =
flags;
1349QTextStream::NumberFlags QTextStream::numberFlags()
const
1352 return d->params.numberFlags;
1365void QTextStream::setIntegerBase(
int base)
1368 d->params.integerBase =
base;
1377int QTextStream::integerBase()
const
1380 return d->params.integerBase;
1391void QTextStream::setRealNumberNotation(RealNumberNotation notation)
1394 d->params.realNumberNotation = notation;
1402QTextStream::RealNumberNotation QTextStream::realNumberNotation()
const
1405 return d->params.realNumberNotation;
1418void QTextStream::setRealNumberPrecision(
int precision)
1422 qWarning(
"QTextStream::setRealNumberPrecision: Invalid precision (%d)",
precision);
1423 d->params.realNumberPrecision = 6;
1437int QTextStream::realNumberPrecision()
const
1440 return d->params.realNumberPrecision;
1449QTextStream::Status QTextStream::status()
const
1462void QTextStream::resetStatus()
1478void QTextStream::setStatus(Status status)
1481 if (
d->status ==
Ok)
1491bool QTextStream::atEnd()
const
1497 return d->string->size() ==
d->stringOffset;
1498 return d->readBuffer.isEmpty() &&
d->device->atEnd();
1516 return d->read(INT_MAX);
1540 readLineInto(&
line, maxlen);
1573 if (!
d->string && !
d->device) {
1574 qWarning(
"QTextStream: No device");
1580 const QChar *readPtr;
1590 d->consumeLastToken();
1610 return d->read(
int(maxlen));
1634 ch2 = ch2.toLower();
1638 }
else if (ch2 == u
'b') {
1640 }
else if (ch2.isDigit() && ch2.digitValue() >= 0 && ch2.digitValue() <= 7) {
1661 QChar pf1, pf2, dig;
1663 if (!
getChar(&pf1) || pf1 != u
'0')
1665 if (!
getChar(&pf2) || pf2.toLower() != u
'b')
1670 int n = dig.toLower().unicode();
1671 if (
n ==
'0' ||
n ==
'1') {
1691 if (!
getChar(&pf) || pf != u
'0')
1696 int n = dig.toLower().unicode();
1720 if (!
sign.isDigit()) {
1724 val +=
sign.digitValue();
1732 val +=
ch.digitValue();
1752 QChar pf1, pf2, dig;
1754 if (!
getChar(&pf1) || pf1 != u
'0')
1756 if (!
getChar(&pf2) || pf2.toLower() != u
'x')
1761 const int h =
fromHex(dig.unicode());
1826 { 0, Sign, Mantissa,
Dot, 0, Inf1, Nan1, 0, 0, 0 },
1827 { 0, 0, Mantissa,
Dot, 0, Inf1, Nan1, 0, 0, 0 },
1828 { Done, Done, Mantissa,
Dot, ExpMark, 0, 0, 0, 0, 0 },
1829 { 0, 0, Abscissa, 0, 0, 0, 0, 0, 0, 0 },
1830 { Done, Done, Abscissa, Done, ExpMark, 0, 0, 0, 0, 0 },
1831 { 0, ExpSign, Exponent, 0, 0, 0, 0, 0, 0, 0 },
1832 { 0, 0, Exponent, 0, 0, 0, 0, 0, 0, 0 },
1833 { Done, Done, Exponent, Done, Done, 0, 0, 0, 0, 0 },
1834 { 0, 0, 0, 0, 0, 0, 0, 0, Nan2, 0 },
1835 { 0, 0, 0, 0, 0, 0, NanInf, 0, 0, 0 },
1836 { 0, 0, 0, 0, 0, 0, Inf2, 0, 0, 0 },
1837 { 0, 0, 0, 0, 0, 0, 0, NanInf, 0, 0 },
1838 { Done, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
1841 ParserState
state = Init;
1853 switch (
c.unicode()) {
1854 case '0':
case '1':
case '2':
case '3':
case '4':
1855 case '5':
case '6':
case '7':
case '8':
case '9':
1906 buf[
i++] =
c.toLatin1();
1949 if (!
d->getChar(&
c))
1950 setStatus(ReadPastEnd);
2118 d->consumeLastToken();
2123 setStatus(ReadPastEnd);
2128 d->consumeLastToken();
2145 d->consumeLastToken();
2150 setStatus(ReadPastEnd);
2157 d->consumeLastToken();
2181 d->consumeLastToken();
2186 setStatus(ReadPastEnd);
2193 d->consumeLastToken();
2205 const QTextStream::NumberFlags numberFlags =
params.numberFlags;
2206 if (numberFlags & QTextStream::ShowBase)
2208 if (numberFlags & QTextStream::ForceSign)
2210 if (numberFlags & QTextStream::UppercaseBase)
2212 if (numberFlags & QTextStream::UppercaseDigits)
2222 if (negative &&
base == 10) {
2225 }
else if (negative) {
2267 d->putChar(QChar::fromLatin1(
c));
2383 d->putNumber(
i,
false);
2400 return *
this << double(
f);
2414 switch (realNumberNotation()) {
2418 case ScientificNotation:
2427 const QLocale::NumberOptions numberOptions =
locale().numberOptions();
2428 if (numberFlags() & ShowBase)
2430 if (numberFlags() & ForceSign)
2432 if (numberFlags() & UppercaseBase)
2434 if (numberFlags() & UppercaseDigits)
2436 if (numberFlags() & ForcePoint) {
2451 d->putString(
num,
true);
2466 d->putString(
string);
2481 d->putString(
string.cbegin(),
int(
string.
size()));
2495 d->putString(
string);
2526QTextStream &QTextStream::operator<<(
const char *
string)
2544 const int oldBase =
d->params.integerBase;
2545 const NumberFlags oldFlags =
d->params.numberFlags;
2546 d->params.integerBase = 16;
2547 d->params.numberFlags |= ShowBase;
2549 d->params.integerBase = oldBase;
2550 d->params.numberFlags = oldFlags;
2566 stream.setIntegerBase(2);
2580 stream.setIntegerBase(8);
2594 stream.setIntegerBase(10);
2609 stream.setIntegerBase(16);
2623 stream.setNumberFlags(
stream.numberFlags() | QTextStream::ShowBase);
2637 stream.setNumberFlags(
stream.numberFlags() | QTextStream::ForceSign);
2651 stream.setNumberFlags(
stream.numberFlags() | QTextStream::ForcePoint);
2665 stream.setNumberFlags(
stream.numberFlags() &= ~QTextStream::ShowBase);
2679 stream.setNumberFlags(
stream.numberFlags() &= ~QTextStream::ForceSign);
2693 stream.setNumberFlags(
stream.numberFlags() &= ~QTextStream::ForcePoint);
2707 stream.setNumberFlags(
stream.numberFlags() | QTextStream::UppercaseBase);
2721 stream.setNumberFlags(
stream.numberFlags() | QTextStream::UppercaseDigits);
2735 stream.setNumberFlags(
stream.numberFlags() & ~QTextStream::UppercaseBase);
2749 stream.setNumberFlags(
stream.numberFlags() & ~QTextStream::UppercaseDigits);
2763 stream.setRealNumberNotation(QTextStream::FixedNotation);
2777 stream.setRealNumberNotation(QTextStream::ScientificNotation);
2791 stream.setFieldAlignment(QTextStream::AlignLeft);
2805 stream.setFieldAlignment(QTextStream::AlignRight);
2819 stream.setFieldAlignment(QTextStream::AlignCenter);
2916 stream.setGenerateByteOrderMark(
true);
2941 if (
d->encoding == encoding)
2945 if (!
d->readBuffer.isEmpty()) {
2946 if (!
d->device->isSequential()) {
2951 d->encoding = encoding;
2953 bool generateBOM = !
d->hasWrittenData &&
d->generateBOM;
2957 if (seekPos >=0 && !
d->readBuffer.isEmpty())
2983void QTextStream::setAutoDetectUnicode(
bool enabled)
2995bool QTextStream::autoDetectUnicode()
const
2998 return d->autoDetectUnicode;
3009void QTextStream::setGenerateByteOrderMark(
bool generate)
3012 if (
d->hasWrittenData ||
d->generateBOM == generate)
3015 d->generateBOM = generate;
3026bool QTextStream::generateByteOrderMark()
const
3029 return d->generateBOM;
3043void QTextStream::setLocale(
const QLocale &locale)
3056QLocale QTextStream::locale()
const
3064#ifndef QT_NO_QOBJECT
3065#include "moc_qtextstream_p.cpp"
IOBluetoothDevice * device
\inmodule QtCore \reentrant
void setData(const QByteArray &data)
Sets the contents of the internal buffer to be data.
bool flush()
Flushes any buffered data to the file.
int handle() const
Returns the file handle of the file.
QFILE_MAYBE_NODISCARD bool open(OpenMode flags) override
Opens the file using OpenMode mode, returning true if successful; otherwise false.
\inmodule QtCore \reentrant
virtual qint64 pos() const
For random-access devices, this function returns the position that data is written to or read from.
virtual bool isSequential() const
Returns true if this device is sequential; otherwise returns false.
qint64 readLine(char *data, qint64 maxlen)
This function reads a line of ASCII characters from the device, up to a maximum of maxSize - 1 bytes,...
void setTextModeEnabled(bool enabled)
If enabled is true, this function sets the \l Text flag on the device; otherwise the \l Text flag is ...
qint64 write(const char *data, qint64 len)
Writes at most maxSize bytes of data from data to the device.
virtual bool atEnd() const
Returns true if the current read and write position is at the end of the device (i....
bool isTextModeEnabled() const
Returns true if the \l Text flag is enabled; otherwise returns false.
qint64 read(char *data, qint64 maxlen)
Reads at most maxSize bytes from the device into data, and returns the number of bytes read.
const QLocaleData *const m_data
QString decimalPoint() const
double toDouble(const QString &s, bool *ok=nullptr) const
Returns the double represented by the localized string s.
QString negativeSign() const
QString groupSeparator() const
static QLocale c()
Returns a QLocale object initialized to the "C" locale.
QString exponential() const
QString positiveSign() const
NumberOptions numberOptions() const
@ IncludeTrailingZeroesAfterDot
@ OmitLeadingZeroInExponent
bool blockSignals(bool b) noexcept
If block is true, signals emitted by this object are blocked (i.e., emitting a signal will not invoke...
bool isValid() const noexcept
Returns true if this is a valid string converter that can be used for encoding or decoding text.
static Q_CORE_EXPORT const char * nameForEncoding(Encoding e)
Returns the canonical name for encoding e.
void resetState() noexcept
Resets the internal state of the converter, clearing potential errors or partial conversions.
Encoding
\value Utf8 Create a converter to or from UTF-8 \value Utf16 Create a converter to or from UTF-16.
static Q_CORE_EXPORT std::optional< Encoding > encodingForData(QByteArrayView data, char16_t expectedFirstCharacter=0) noexcept
Returns the encoding for the content of data if it can be determined.
QByteArray toUtf8() const
Returns a UTF-8 representation of the string view as a QByteArray.
\macro QT_RESTRICTED_CAST_FROM_ASCII
static QString fromLatin1(QByteArrayView ba)
This is an overloaded member function, provided for convenience. It differs from the above function o...
void clear()
Clears the contents of the string and makes it null.
bool isNull() const
Returns true if this string is null; otherwise returns false.
QString & setUnicode(const QChar *unicode, qsizetype size)
Resizes the string to size characters and copies unicode into the string.
static QString fromUtf8(QByteArrayView utf8)
This is an overloaded member function, provided for convenience. It differs from the above function o...
QString toLower() const &
QString & prepend(QChar c)
void resize(qsizetype size)
Sets the size of the string to size characters.
QTextStream::FieldAlignment fieldAlignment
QTextStream::RealNumberNotation realNumberNotation
QTextStream::NumberFlags numberFlags
void saveConverterState(qint64 newPos)
QTextStreamPrivate(QTextStream *q_ptr)
PaddingResult padding(qsizetype len) const
void restoreToSavedConverterState()
void write(QStringView data)
void writePadding(qsizetype len)
int readConverterSavedStateOffset
QStringDecoder savedToUtf16
const QChar * readPtr() const
void putString(QStringView string, bool number=false)
bool scan(const QChar **ptr, int *tokenLength, int maxlen, TokenDelimiter delimiter)
qint64 readBufferStartDevicePos
bool fillReadBuffer(qint64 maxBytes=-1)
void putNumber(qulonglong number, bool negative)
QTextStream::Status status
QStringConverter::Encoding encoding
NumberParsingStatus getNumber(qulonglong *l)
QIODevice::OpenMode stringOpenMode
Q_QML_EXPORT QV4::ReturnedValue locale(QV4::ExecutionEngine *engine, const QString &localeName)
Provides locale specific properties and formatted data.
Combined button and popup list for selecting options.
Q_CORE_EXPORT QByteArray toPrintable(const char *data, qint64 len, qsizetype maxSize)
constexpr bool isOctalDigit(char32_t c) noexcept
constexpr int fromHex(char32_t c) noexcept
QTextStream & flush(QTextStream &stream)
Calls QTextStream::flush() on stream and returns stream.
QTextStream & uppercasebase(QTextStream &stream)
Calls QTextStream::setNumberFlags(QTextStream::numberFlags() | QTextStream::UppercaseBase) on stream ...
QTextStream & bin(QTextStream &stream)
Calls QTextStream::setIntegerBase(2) on stream and returns stream.
QTextStream & showbase(QTextStream &stream)
Calls QTextStream::setNumberFlags(QTextStream::numberFlags() | QTextStream::ShowBase) on stream and r...
QTextStream & lowercasebase(QTextStream &stream)
Calls QTextStream::setNumberFlags(QTextStream::numberFlags() & ~QTextStream::UppercaseBase) on stream...
QTextStream & noforcesign(QTextStream &stream)
Calls QTextStream::setNumberFlags(QTextStream::numberFlags() & ~QTextStream::ForceSign) on stream and...
QTextStream & uppercasedigits(QTextStream &stream)
Calls QTextStream::setNumberFlags(QTextStream::numberFlags() | QTextStream::UppercaseDigits) on strea...
QTextStream & bom(QTextStream &stream)
Toggles insertion of the Byte Order Mark on stream when QTextStream is used with a UTF encoding.
QTextStream & oct(QTextStream &stream)
Calls QTextStream::setIntegerBase(8) on stream and returns stream.
QTextStream & lowercasedigits(QTextStream &stream)
Calls QTextStream::setNumberFlags(QTextStream::numberFlags() & ~QTextStream::UppercaseDigits) on stre...
QTextStream & noshowbase(QTextStream &stream)
Calls QTextStream::setNumberFlags(QTextStream::numberFlags() & ~QTextStream::ShowBase) on stream and ...
QTextStream & noforcepoint(QTextStream &stream)
Calls QTextStream::setNumberFlags(QTextStream::numberFlags() & ~QTextStream::ForcePoint) on stream an...
QTextStream & ws(QTextStream &stream)
Calls \l {QTextStream::}{skipWhiteSpace()} on stream and returns stream.
QTextStream & fixed(QTextStream &stream)
Calls QTextStream::setRealNumberNotation(QTextStream::FixedNotation) on stream and returns stream.
QTextStream & forcesign(QTextStream &stream)
Calls QTextStream::setNumberFlags(QTextStream::numberFlags() | QTextStream::ForceSign) on stream and ...
QTextStream & center(QTextStream &stream)
Calls QTextStream::setFieldAlignment(QTextStream::AlignCenter) on stream and returns stream.
QTextStream & forcepoint(QTextStream &stream)
Calls QTextStream::setNumberFlags(QTextStream::numberFlags() | QTextStream::ForcePoint) on stream and...
QTextStream & endl(QTextStream &stream)
Writes '\n' to the stream and flushes the stream.
QTextStream & scientific(QTextStream &stream)
Calls QTextStream::setRealNumberNotation(QTextStream::ScientificNotation) on stream and returns strea...
Q_CORE_EXPORT int qstricmp(const char *, const char *)
DBusConnection const char DBusError DBusBusType DBusError return DBusConnection DBusHandleMessageFunction void DBusFreeFunction return DBusConnection return DBusConnection return const char DBusError return DBusConnection DBusMessage dbus_uint32_t return DBusConnection dbus_bool_t DBusConnection DBusAddWatchFunction DBusRemoveWatchFunction DBusWatchToggledFunction void DBusFreeFunction return DBusConnection DBusDispatchStatusFunction void DBusFreeFunction DBusTimeout return DBusTimeout return DBusWatch return DBusWatch unsigned int return DBusError const DBusError return const DBusMessage return DBusMessage return DBusMessage return DBusMessage return DBusMessage return DBusMessage return DBusMessageIter int const void return DBusMessageIter DBusMessageIter return DBusMessageIter void DBusMessageIter void int return DBusMessage DBusMessageIter return DBusMessageIter return DBusMessageIter DBusMessageIter const char const char const char const char return DBusMessage return DBusMessage const char return DBusMessage dbus_bool_t return DBusMessage dbus_uint32_t return DBusMessage void
static constexpr int BufferSize
static ControlElement< T > * ptr(QWidget *widget)
constexpr const T & qMin(const T &a, const T &b)
constexpr T qAbs(const T &t)
constexpr static Q_DECL_CONST_FUNCTION double qt_qnan() noexcept
constexpr static Q_DECL_CONST_FUNCTION double qt_inf() noexcept
GLenum GLsizei GLuint GLint * bytesWritten
GLenum GLuint GLintptr GLsizeiptr size
[1]
GLenum GLuint GLenum GLsizei length
GLint GLsizei GLsizei GLenum GLenum GLsizei void * data
GLenum GLenum GLsizei const GLuint GLboolean enabled
GLenum GLuint GLenum GLsizei const GLchar * buf
GLfloat GLfloat GLfloat GLfloat h
GLenum GLenum GLenum input
GLenum GLenum GLsizei void * table
GLenum GLint GLint * precision
GLsizei const GLchar *const * string
[0]
GLbitfield GLuint readBuffer
static const QLatin1Char Dot('.')
static QT_BEGIN_NAMESPACE const uint Default
QBasicUtf8StringView< false > QUtf8StringView
#define IMPLEMENT_STREAM_RIGHT_REAL_OPERATOR(type)
#define IMPLEMENT_STREAM_RIGHT_INT_OPERATOR(type)
#define CHECK_VALID_STREAM(x)
static const int QTEXTSTREAM_BUFFERSIZE
\inmodule QtCore \reentrant
QString doubleToString(double d, int precision=-1, DoubleForm form=DFSignificantDigits, int width=-1, unsigned flags=NoFlags) const
QString longLongToString(qint64 l, int precision=-1, int base=10, int width=-1, unsigned flags=NoFlags) const
QString unsLongLongToString(quint64 l, int precision=-1, int base=10, int width=-1, unsigned flags=NoFlags) const