Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
qdebug.cpp File Reference

(86436ef97d8ffbb3b4d437d9e19e80e886ac8efe)

#include "qdebug.h"
#include "private/qdebug_p.h"
#include "qmetaobject.h"
#include <private/qlogging_p.h>
#include <private/qtextstream_p.h>
#include <private/qtools_p.h>
#include <array>
#include <q20chrono.h>
#include <cstdio>
Include dependency graph for qdebug.cpp:

Go to the source code of this file.

Classes

class  QDebugStateSaverPrivate

Functions

static bool isPrintable (char32_t ucs4)
static bool isPrintable (char16_t uc)
static bool isPrintable (uchar c)
template<typename Char>
static void putEscapedString (QTextStreamPrivate *d, const Char *begin, size_t length, bool isUnicode=true)
static QByteArray timeUnit (qint64 num, qint64 den)
void qt_QMetaEnum_flagDebugOperator (QDebug &debug, size_t sizeofT, uint value)
void qt_QMetaEnum_flagDebugOperator (QDebug &debug, size_t sizeofT, quint64 value)
QDebug qt_QMetaEnum_debugOperator (QDebug &dbg, qint64 value, const QMetaObject *meta, const char *name)
QDebug qt_QMetaEnum_flagDebugOperator (QDebug &debug, quint64 value, const QMetaObject *meta, const char *name)

Function Documentation

◆ isPrintable() [1/3]

bool isPrintable ( char16_t uc)
inlinestatic

Definition at line 195 of file qdebug.cpp.

◆ isPrintable() [2/3]

bool isPrintable ( char32_t ucs4)
inlinestatic

Definition at line 194 of file qdebug.cpp.

Referenced by putEscapedString().

Here is the caller graph for this function:

◆ isPrintable() [3/3]

bool isPrintable ( uchar c)
inlinestatic

Definition at line 196 of file qdebug.cpp.

◆ putEscapedString()

template<typename Char>
void putEscapedString ( QTextStreamPrivate * d,
const Char * begin,
size_t length,
bool isUnicode = true )
inlinestatic

Definition at line 200 of file qdebug.cpp.

References isPrintable().

Here is the call graph for this function:

◆ qt_QMetaEnum_debugOperator()

QDebug qt_QMetaEnum_debugOperator ( QDebug & dbg,
qint64 value,
const QMetaObject * meta,
const char * name )

Formats the given enum value for debug output.

The supported verbosity are:

0: Just the key, or value with enum name if no key is found:

MyEnum2 MyEnum(123) MyScopedEnum::Enum3 MyScopedEnum(456)

1: Same as 0, but treating all enums as scoped:

MyEnum::MyEnum2 MyEnum(123) MyScopedEnum::Enum3 MyScopedEnum(456)

2: The QDebug default. Same as 0, and includes class/namespace scope:

MyNamespace::MyClass::MyEnum2 MyNamespace::MyClass::MyEnum(123) MyNamespace::MyClass::MyScopedEnum::Enum3 MyNamespace::MyClass::MyScopedEnum(456)

3: Same as 2, but treating all enums as scoped:

MyNamespace::MyClass::MyEnum::MyEnum2 MyNamespace::MyClass::MyEnum(123) MyNamespace::MyClass::MyScopedEnum::Enum3 MyNamespace::MyClass::MyScopedEnum(456)

Definition at line 1470 of file qdebug.cpp.

◆ qt_QMetaEnum_flagDebugOperator() [1/3]

QDebug qt_QMetaEnum_flagDebugOperator ( QDebug & debug,
quint64 value,
const QMetaObject * meta,
const char * name )

Formats the given flag value for debug output.

The supported verbosity are:

0: Just the key(s):

MyFlag1 MyFlag2|MyFlag3 MyScopedFlag(MyFlag2) MyScopedFlag(MyFlag2|MyFlag3)

1: Same as 0, but treating all flags as scoped:

MyFlag(MyFlag1) MyFlag(MyFlag2|MyFlag3) MyScopedFlag(MyFlag2) MyScopedFlag(MyFlag2|MyFlag3)

2: The QDebug default. Same as 1, and includes class/namespace scope:

QFlags<MyNamespace::MyClass::MyFlag>(MyFlag1) QFlags<MyNamespace::MyClass::MyFlag>(MyFlag2|MyFlag3) QFlags<MyNamespace::MyClass::MyScopedFlag>(MyFlag2) QFlags<MyNamespace::MyClass::MyScopedFlag>(MyFlag2|MyFlag3)

Definition at line 1524 of file qdebug.cpp.

◆ qt_QMetaEnum_flagDebugOperator() [2/3]

void qt_QMetaEnum_flagDebugOperator ( QDebug & debug,
size_t sizeofT,
quint64 value )

Ditto, for 64-bit.

Definition at line 1428 of file qdebug.cpp.

◆ qt_QMetaEnum_flagDebugOperator() [3/3]

void qt_QMetaEnum_flagDebugOperator ( QDebug & debug,
size_t sizeofT,
uint value )

Specialization of the primary template in qdebug.h to out-of-line the common case of QFlags<T>::Int being 32-bit.

Just call the generic version so the two don't get out of sync.

Definition at line 1419 of file qdebug.cpp.

◆ timeUnit()

QByteArray timeUnit ( qint64 num,
qint64 den )
static

Definition at line 351 of file qdebug.cpp.