55 { &shared_null, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
84 Node *e =
reinterpret_cast<Node *
>(
this);
93 qFree(reinterpret_cast<char *>(prev) - offset);
128 Node *e =
reinterpret_cast<Node *
>(
this);
143 Node *abstractNode =
reinterpret_cast<Node *
>(
reinterpret_cast<char *
>(concreteNode) + offset);
148 for (
int i = level; i >= 0; i--) {
150 update[i]->
forward[i] = abstractNode;
151 update[i] = abstractNode;
161 for (
int i = 0; i <=
topLevel; ++i) {
162 if (update[i]->
forward[i] != node)
170 qFree(reinterpret_cast<char *>(node) - offset);
175 uint QMapData::adjust_ptr(
Node *node)
177 if (node == reinterpret_cast<Node *>(
this)) {
178 return (
uint)0xDEADBEEF;
190 Node *e =
reinterpret_cast<Node *
>(
this);
193 str.
sprintf(
" %.8x", adjust_ptr(reinterpret_cast<Node *>(
this)));
197 for (
int i = 0; i <=
topLevel; ++i) {
198 str.
sprintf(
"%d: [%.8x] -", i, adjust_ptr(reinterpret_cast<Node *>(
forward[i])));
206 while (level <
topLevel && update[level + 1] == node)
209 str.
sprintf(
" %.8x", adjust_ptr(node));
212 for (
int i = 0; i <= level; ++i) {
217 for (
int j = level + 1; j <=
topLevel; ++j)
222 qDebug(
"%s", preOutput.ascii());
224 qDebug(
"%s", output[i].ascii());
void node_delete(Node *update[], int offset, Node *node)
QString & sprintf(const char *format,...)
Safely builds a formatted string from the format string cformat and an arbitrary list of arguments...
#define QT_END_NAMESPACE
This macro expands to.
Q_CORE_EXPORT void * qMallocAligned(size_t size, size_t alignment)
Q_CORE_EXPORT void qFree(void *ptr)
Node * node_create(Node *update[], int offset)
QLatin1String(DBUS_INTERFACE_DBUS))) Q_GLOBAL_STATIC_WITH_ARGS(QString
Q_CORE_EXPORT void * qMalloc(size_t size)
void continueFreeData(int offset)
The QString class provides a Unicode character string.
Q_CORE_EXPORT int qrand()
#define Q_BASIC_ATOMIC_INITIALIZER(a)
Q_CORE_EXPORT void qDebug(const char *,...)
static QMapData * createData()
#define QT_BEGIN_NAMESPACE
This macro expands to.
QMapData * forward[QMapData::LastLevel+1]
static QString dump(const QByteArray &)
Q_CORE_EXPORT void qFreeAligned(void *ptr)
static QMapData shared_null