QDebugStateSaver Class
カスタムQDebug 演算子のための便利なクラス。詳細...
Header: | #include <QDebugStateSaver> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Core) target_link_libraries(mytarget PRIVATE Qt6::Core) |
qmake: | QT += core |
パブリック関数
QDebugStateSaver(QDebug &dbg) | |
~QDebugStateSaver() |
詳細説明
QDebugQDebugStateSaver の構築時にautoInsertSpaces() が真であった場合、maybeSpace() を呼び出し、引数をスペースで区切ります。
書き込みの間の空白の自動挿入は、QDebugStateSaverが現在のブロックの間保存する設定の1つです。
内部QTextStream の設定も保存され、復元されます。そのため、QDebug 演算子で <<Qt::hex を使用しても、他のQDebug 演算子には影響しません。
QDebugStateSaverは通常、デバッグのためのoperator<<()の実装で使用されます:
QDebug operator<<(QDebug dbg, const Message &message) { const QList<QStringView> pieces = message.body().split(u"\r\n", Qt::SkipEmptyParts); if (pieces.isEmpty()) dbg.nospace() << "Message()"; else if (pieces.size() == 1) dbg.nospace() << "Message(" << pieces.first() << ")"; else dbg.nospace() << "Message(" << pieces.first() << " ...)"; return dbg; }
メンバ関数ドキュメント
QDebugStateSaver::QDebugStateSaver(QDebug &dbg)
QDebugStateSaver インスタンスを作成します。これはdbg によって現在使用されている設定を保存します。
QDebug::setAutoInsertSpaces() およびQDebug::autoInsertSpaces()も参照してください 。
[noexcept]
QDebugStateSaver::~QDebugStateSaver()
QDebugStateSaver インスタンスを破棄します。QDebugStateSaver インスタンスが作成されたときに使用された設定を復元します。
QDebug::setAutoInsertSpaces() およびQDebug::autoInsertSpaces()も参照して ください。
本ドキュメントに含まれる文書の著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。