3#include <QCoreApplication>
18 Message(
const QString &body,
const QStringList &headers);
25 QStringList m_headers;
42 QDebugStateSaver saver(dbg);
43 const QList<QStringView> pieces = message.body().split(u"\r\n", Qt::SkipEmptyParts);
45 dbg.nospace() <<
"Message()";
46 else if (pieces.size() == 1)
47 dbg.nospace() <<
"Message(" << pieces.first() <<
")";
49 dbg.nospace() <<
"Message(" << pieces.first() <<
" ...)";
68int main(
int argc,
char *argv[])
70 QCoreApplication app(argc, argv);
72 headers <<
"Subject: Hello World"
73 <<
"From: address@example.com";
74 QString body =
"This is a test.\r\n";
77 qDebug() <<
"Original:" << message;
81 stored.setValue(message);
83 qDebug() <<
"Stored:" << stored;
86 qDebug() <<
"Retrieved:" << retrieved;
87 retrieved = qvariant_cast<
Message>(stored);
88 qDebug() <<
"Retrieved:" << retrieved;
Message(const QString &body, const QStringList &headers)
Message & operator=(const Message &)=default
Message(const Message &)=default
QStringList headers() const
QStringView body() const
[custom type streaming operator]
Q_DECLARE_METATYPE(Message)
[custom type definition]
QDebug operator<<(QDebug dbg, const Message &message)
[custom type meta-type declaration]
int main(int argc, char *argv[])
[ctor_close]