Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Toggle main menu visibility
Loading...
Searching...
No Matches
qtextstream_p.h
Go to the documentation of this file.
1
// Copyright (C) 2016 The Qt Company Ltd.
2
// Copyright (C) 2016 Intel Corporation.
3
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
4
// Qt-Security score:significant reason:header-decls-only
5
6
#
ifndef
QTEXTSTREAM_P_H
7
#
define
QTEXTSTREAM_P_H
8
9
//
10
// W A R N I N G
11
// -------------
12
//
13
// This file is not part of the Qt API. It exists purely as an
14
// implementation detail. This header file may change from version to
15
// version without notice, or even be removed.
16
//
17
// We mean it.
18
//
19
20
#
include
<
QtCore
/
private
/
qglobal_p
.
h
>
21
#
include
<
QtCore
/
qstringconverter
.
h
>
22
#
include
<
QtCore
/
qiodevice
.
h
>
23
#
include
<
QtCore
/
qlocale
.
h
>
24
#
include
"qtextstream.h"
25
26
QT_BEGIN_NAMESPACE
27
28
class
QTextStreamPrivate
29
{
30
Q_DECLARE_PUBLIC(QTextStream)
31
public
:
32
// streaming parameters
33
class
Params
34
{
35
public
:
36
void
reset
();
37
38
// As for QString, QLocale functions taking these: the values of
39
// precision, base and width can't sensibly need even eight bits, so
40
// there's no sense expanding beyond int.
41
int
realNumberPrecision
;
42
int
integerBase
;
43
int
fieldWidth
;
44
QChar
padChar
;
45
QTextStream
::
FieldAlignment
fieldAlignment
;
46
QTextStream
::
RealNumberNotation
realNumberNotation
;
47
QTextStream
::
NumberFlags
numberFlags
;
48
};
49
50
QTextStreamPrivate
(QTextStream *q_ptr);
51
~
QTextStreamPrivate
();
52
void
reset
();
53
54
inline
void
setupDevice
(QIODevice *device);
55
inline
void
disconnectFromDevice
();
56
57
// device
58
QIODevice *
device
;
59
#
ifndef
QT_NO_QOBJECT
60
QMetaObject
::
Connection
aboutToCloseConnection
;
61
#
endif
62
63
// string
64
QString *
string
;
65
qsizetype
stringOffset
;
66
QIODevice
::
OpenMode
stringOpenMode
;
67
68
QStringConverter
::
Encoding
encoding
=
QStringConverter
::
Utf8
;
69
QStringEncoder
fromUtf16
;
70
QStringDecoder
toUtf16
;
71
QStringDecoder
savedToUtf16
;
72
73
QString
writeBuffer
;
74
QString
readBuffer
;
75
qsizetype
readBufferOffset
;
76
qsizetype
readConverterSavedStateOffset
;
//the offset between readBufferStartDevicePos and that start of the buffer
77
qint64
readBufferStartDevicePos
;
78
79
Params
params
;
80
81
// status
82
QTextStream
::
Status
status
;
83
QLocale
locale
;
84
QTextStream
*
q_ptr
;
85
86
qsizetype
lastTokenSize
;
87
bool
deleteDevice
;
88
bool
autoDetectUnicode
;
89
bool
hasWrittenData
=
false
;
90
bool
generateBOM
=
false
;
91
92
// i/o
93
enum
TokenDelimiter
{
94
Space
,
95
NotSpace
,
96
EndOfLine
97
};
98
99
QString
read
(qsizetype maxlen);
100
bool
scan
(
const
QChar **ptr, qsizetype *tokenLength,
101
qsizetype maxlen,
TokenDelimiter
delimiter);
102
inline
const
QChar
*
readPtr
()
const
;
103
inline
void
consumeLastToken
();
104
inline
void
consume
(qsizetype nchars);
105
void
saveConverterState
(qint64 newPos);
106
void
restoreToSavedConverterState
();
107
108
// Return value type for getNumber()
109
enum
NumberParsingStatus
{
110
npsOk
,
111
npsMissingDigit
,
112
npsInvalidPrefix
113
};
114
115
inline
bool
getChar
(QChar *ch);
116
inline
void
ungetChar
(QChar ch);
117
NumberParsingStatus
getNumber
(qulonglong *l);
118
bool
getReal
(
double
*f);
119
120
void
write
(QStringView data);
121
void
write
(QChar ch);
122
void
write
(QLatin1StringView data);
123
void
writePadding
(qsizetype len);
124
125
enum
class
PutStringMode
:
bool
{
String
,
Number
};
126
void
putString
(QStringView string,
PutStringMode
=
PutStringMode
::
String
);
127
void
putString
(QLatin1StringView data,
PutStringMode
=
PutStringMode
::
String
);
128
void
putString
(QUtf8StringView data,
PutStringMode
=
PutStringMode
::
String
);
129
130
inline
void
putChar
(QChar ch);
131
void
putNumber
(qulonglong number,
bool
negative);
132
133
struct
PaddingResult
{
134
qsizetype
left
,
right
;
135
};
136
PaddingResult
padding
(qsizetype len)
const
;
137
138
// buffers
139
bool
fillReadBuffer
(qint64 maxBytes = -1);
140
void
resetReadBuffer
();
141
void
flushWriteBuffer
();
142
143
private
:
144
template
<
typename
Appendable>
145
void
writeImpl(Appendable data);
146
template
<
typename
StringView>
147
void
putStringImpl(StringView view,
PutStringMode
mode);
148
};
149
150
QT_END_NAMESPACE
151
152
#
endif
// QTEXTSTREAM_P_H
QTextStreamPrivate
Definition
qtextstream_p.h:29
QTextStreamPrivate::TokenDelimiter
TokenDelimiter
Definition
qtextstream_p.h:93
QTextStreamPrivate::Space
@ Space
Definition
qtextstream_p.h:94
QTextStreamPrivate::EndOfLine
@ EndOfLine
Definition
qtextstream_p.h:96
QTextStreamPrivate::NotSpace
@ NotSpace
Definition
qtextstream_p.h:95
QTextStreamPrivate::saveConverterState
void saveConverterState(qint64 newPos)
Definition
qtextstream.cpp:700
QTextStreamPrivate::consumeLastToken
void consumeLastToken()
Definition
qtextstream.cpp:664
QTextStreamPrivate::QTextStreamPrivate
QTextStreamPrivate(QTextStream *q_ptr)
Definition
qtextstream.cpp:259
QTextStreamPrivate::padding
PaddingResult padding(qsizetype len) const
Definition
qtextstream.cpp:828
QTextStreamPrivate::readConverterSavedStateOffset
qsizetype readConverterSavedStateOffset
Definition
qtextstream_p.h:76
QTextStreamPrivate::getChar
bool getChar(QChar *ch)
Definition
qtextstream.cpp:778
QTextStreamPrivate::putChar
void putChar(QChar ch)
Definition
qtextstream.cpp:816
QTextStreamPrivate::ungetChar
void ungetChar(QChar ch)
Definition
qtextstream.cpp:795
QTextStreamPrivate::restoreToSavedConverterState
void restoreToSavedConverterState()
Definition
qtextstream.cpp:711
QTextStreamPrivate::write
void write(QStringView data)
Definition
qtextstream.cpp:739
QTextStreamPrivate::writePadding
void writePadding(qsizetype len)
Definition
qtextstream.cpp:763
QTextStreamPrivate::savedToUtf16
QStringDecoder savedToUtf16
Definition
qtextstream_p.h:71
QTextStreamPrivate::flushWriteBuffer
void flushWriteBuffer()
Definition
qtextstream.cpp:472
QTextStreamPrivate::writeBuffer
QString writeBuffer
Definition
qtextstream_p.h:73
QTextStreamPrivate::readPtr
const QChar * readPtr() const
Definition
qtextstream.cpp:653
QTextStreamPrivate::aboutToCloseConnection
QMetaObject::Connection aboutToCloseConnection
Definition
qtextstream_p.h:60
QTextStreamPrivate::NumberParsingStatus
NumberParsingStatus
Definition
qtextstream_p.h:109
QTextStreamPrivate::npsMissingDigit
@ npsMissingDigit
Definition
qtextstream_p.h:111
QTextStreamPrivate::npsInvalidPrefix
@ npsInvalidPrefix
Definition
qtextstream_p.h:112
QTextStreamPrivate::npsOk
@ npsOk
Definition
qtextstream_p.h:110
QTextStreamPrivate::readBuffer
QString readBuffer
Definition
qtextstream_p.h:74
QTextStreamPrivate::autoDetectUnicode
bool autoDetectUnicode
Definition
qtextstream_p.h:88
QTextStreamPrivate::string
QString * string
Definition
qtextstream_p.h:64
QTextStreamPrivate::deleteDevice
bool deleteDevice
Definition
qtextstream_p.h:87
QTextStreamPrivate::disconnectFromDevice
void disconnectFromDevice()
Definition
qtextstream.cpp:337
QTextStreamPrivate::stringOffset
qsizetype stringOffset
Definition
qtextstream_p.h:65
QTextStreamPrivate::hasWrittenData
bool hasWrittenData
Definition
qtextstream_p.h:89
QTextStreamPrivate::lastTokenSize
qsizetype lastTokenSize
Definition
qtextstream_p.h:86
QTextStreamPrivate::params
Params params
Definition
qtextstream_p.h:79
QTextStreamPrivate::generateBOM
bool generateBOM
Definition
qtextstream_p.h:90
QTextStreamPrivate::readBufferStartDevicePos
qint64 readBufferStartDevicePos
Definition
qtextstream_p.h:77
QTextStreamPrivate::fillReadBuffer
bool fillReadBuffer(qint64 maxBytes=-1)
Definition
qtextstream.cpp:348
QTextStreamPrivate::PutStringMode
PutStringMode
Definition
qtextstream_p.h:125
QTextStreamPrivate::PutStringMode::String
@ String
Definition
qtextstream_p.h:125
QTextStreamPrivate::PutStringMode::Number
@ Number
Definition
qtextstream_p.h:125
QTextStreamPrivate::device
QIODevice * device
Definition
qtextstream_p.h:58
QTextStreamPrivate::q_ptr
QTextStream * q_ptr
Definition
qtextstream_p.h:84
QTextStreamPrivate::readBufferOffset
qsizetype readBufferOffset
Definition
qtextstream_p.h:75
QTextStreamPrivate::putNumber
void putNumber(qulonglong number, bool negative)
Definition
qtextstream.cpp:2226
QTextStreamPrivate::setupDevice
void setupDevice(QIODevice *device)
Definition
qtextstream.cpp:319
QTextStreamPrivate::scan
bool scan(const QChar **ptr, qsizetype *tokenLength, qsizetype maxlen, TokenDelimiter delimiter)
Definition
qtextstream.cpp:561
QTextStreamPrivate::consume
void consume(qsizetype nchars)
Definition
qtextstream.cpp:674
QTextStreamPrivate::~QTextStreamPrivate
~QTextStreamPrivate()
Definition
qtextstream.cpp:270
QTextStreamPrivate::encoding
QStringConverter::Encoding encoding
Definition
qtextstream_p.h:68
QTextStreamPrivate::resetReadBuffer
void resetReadBuffer()
Definition
qtextstream.cpp:462
QTextStreamPrivate::reset
void reset()
Definition
qtextstream.cpp:295
QTextStreamPrivate::toUtf16
QStringDecoder toUtf16
Definition
qtextstream_p.h:70
QTextStreamPrivate::fromUtf16
QStringEncoder fromUtf16
Definition
qtextstream_p.h:69
QTextStreamPrivate::getNumber
NumberParsingStatus getNumber(qulonglong *l)
Definition
qtextstream.cpp:1637
QTextStreamPrivate::locale
QLocale locale
Definition
qtextstream_p.h:83
QTextStreamPrivate::stringOpenMode
QIODevice::OpenMode stringOpenMode
Definition
qtextstream_p.h:66
QTextStreamPrivate::putString
void putString(QStringView string, PutStringMode=PutStringMode::String)
Definition
qtextstream.cpp:910
QTextStreamPrivate::getReal
bool getReal(double *f)
Definition
qtextstream.cpp:1811
QTextStreamPrivate::read
QString read(qsizetype maxlen)
Definition
qtextstream.cpp:534
QT_BEGIN_NAMESPACE
Combined button and popup list for selecting options.
Definition
qsequentialanimationgroup.cpp:47
QTextStreamPrivate::PaddingResult
Definition
qtextstream_p.h:133
QTextStreamPrivate::PaddingResult::right
qsizetype right
Definition
qtextstream_p.h:134
QTextStreamPrivate::PaddingResult::left
qsizetype left
Definition
qtextstream_p.h:134
qtbase
src
corelib
serialization
qtextstream_p.h
Generated on
for Qt by
1.18.0