25class QQmlJSStreamWriter
28 QQmlJSStreamWriter(QByteArray *array);
30 void writeStartDocument();
31 void writeEndDocument();
32 void writeLibraryImport(
33 QByteArrayView uri,
int majorVersion,
int minorVersion, QByteArrayView as = {});
34 void writeStartObject(QByteArrayView component);
35 void writeEndObject();
36 void writeScriptBinding(QByteArrayView name, QByteArrayView rhs);
37 void writeStringBinding(QByteArrayView name, QAnyStringView value);
38 void writeNumberBinding(QByteArrayView name, qint64 value);
41 void writeEnumObjectLiteralBinding(
42 QByteArrayView name,
const QList<std::pair<QAnyStringView,
int>> &keyValue);
45 void writeArrayBinding(QByteArrayView name,
const QByteArrayList &elements);
46 void writeStringListBinding(QByteArrayView name,
const QList<QAnyStringView> &elements);
48 void write(QByteArrayView data);
49 void writeBooleanBinding(QByteArrayView name,
bool value);
53 void writePotentialLine(
const QByteArray &line);
54 void flushPotentialLinesWithNewlines();
56 template<
typename String,
typename ElementHandler>
57 void doWriteArrayBinding(
58 QByteArrayView name,
const QList<String> &elements, ElementHandler &&handler);
61 QList<QByteArray> m_pendingLines;
62 int m_pendingLineLength;
64 QScopedPointer<QIODevice> m_stream;