QTextStream: code tidies

Port the internals to qsizetype, and use QStringView instead of QString
as a function parameter.

The padding() function is changed to take a qsizetype to avoid warnings,
but the maximum padding that can be specified is still limited by the
range of an int (this is guarded via an assert).

Change-Id: I9dd98e5a534990a1758b080900a12dc793528d19
Reviewed-by: Marc Mutz <marc.mutz@qt.io>
This commit is contained in:
Giuseppe D'Angelo 2022-01-14 16:48:17 +01:00 committed by Marc Mutz
parent 3f06d47e57
commit 3976449c0e
2 changed files with 13 additions and 10 deletions

View File

@ -712,7 +712,7 @@ inline void QTextStreamPrivate::restoreToSavedConverterState()
/*!
\internal
*/
void QTextStreamPrivate::write(const QChar *data, int len)
void QTextStreamPrivate::write(const QChar *data, qsizetype len)
{
if (string) {
// ### What about seek()??
@ -757,7 +757,7 @@ void QTextStreamPrivate::write(QLatin1String data)
/*!
\internal
*/
void QTextStreamPrivate::writePadding(int len)
void QTextStreamPrivate::writePadding(qsizetype len)
{
if (string) {
// ### What about seek()??
@ -822,7 +822,7 @@ inline void QTextStreamPrivate::putChar(QChar ch)
/*!
\internal
*/
QTextStreamPrivate::PaddingResult QTextStreamPrivate::padding(int len) const
QTextStreamPrivate::PaddingResult QTextStreamPrivate::padding(qsizetype len) const
{
Q_ASSERT(params.fieldWidth > len); // calling padding() when no padding is needed is an error
@ -849,7 +849,7 @@ QTextStreamPrivate::PaddingResult QTextStreamPrivate::padding(int len) const
/*!
\internal
*/
void QTextStreamPrivate::putString(const QChar *data, int len, bool number)
void QTextStreamPrivate::putString(const QChar *data, qsizetype len, bool number)
{
if (Q_UNLIKELY(params.fieldWidth > len)) {

View File

@ -174,13 +174,16 @@ public:
NumberParsingStatus getNumber(qulonglong *l);
bool getReal(double *f);
inline void write(const QString &data) { write(data.begin(), data.length()); }
inline void write(QStringView data) { write(data.begin(), data.length()); }
inline void write(QChar ch);
void write(const QChar *data, int len);
void write(const QChar *data, qsizetype len);
void write(QLatin1String data);
void writePadding(int len);
inline void putString(const QString &ch, bool number = false) { putString(ch.constData(), ch.length(), number); }
void putString(const QChar *data, int len, bool number = false);
void writePadding(qsizetype len);
inline void putString(QStringView string, bool number = false)
{
putString(string.constData(), string.length(), number);
}
void putString(const QChar *data, qsizetype len, bool number = false);
void putString(QLatin1String data, bool number = false);
void putString(QUtf8StringView data, bool number = false);
inline void putChar(QChar ch);
@ -189,7 +192,7 @@ public:
struct PaddingResult {
int left, right;
};
PaddingResult padding(int len) const;
PaddingResult padding(qsizetype len) const;
// buffers
bool fillReadBuffer(qint64 maxBytes = -1);