/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ /* vim:set ts=2 sw=2 sts=2 et cindent: */ /* This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#ifndef DDLogObject_h_ #define DDLogObject_h_
#include"nsString.h"
namespace mozilla {
// DDLogObject identifies a C++ object by its pointer and its class name (as // provided in a DDLoggedTypeTrait.) // Note that a DDLogObject could have the exact same pointer&type as a previous // one, so extra information is needed to distinguish them, see DDLifetime. class DDLogObject { public: // Default-initialization with null pointer.
DDLogObject() : mTypeName(""), mPointer(nullptr) {}
// Construction with given non-null type name and pointer.
DDLogObject(constchar* aTypeName, constvoid* aPointer)
: mTypeName(aTypeName), mPointer(aPointer) {
MOZ_ASSERT(aTypeName);
MOZ_ASSERT(aPointer);
}
// Sets this DDLogObject to an actual object. void Set(constchar* aTypeName, constvoid* aPointer) {
MOZ_ASSERT(aTypeName);
MOZ_ASSERT(aPointer);
mTypeName = aTypeName;
mPointer = aPointer;
}
// Object pointer, used for identification purposes only. constvoid* Pointer() const { return mPointer; }
// Type name. Should only be accessed after non-null pointer initialization. constchar* TypeName() const {
MOZ_ASSERT(mPointer); return mTypeName;
}
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.