15 #ifdef BLUEBERRY_DEBUG_SMARTPOINTER 39 ::operator
new(
size_t n)
46 ::operator
new[](
size_t n)
53 ::operator
delete(
void* m)
60 ::operator
delete[](
void* m, size_t)
68 return "berry::Object";
78 return Reflection::TypeInfo::New<Self>();
88 return QList<Reflection::TypeInfo>();
150 #ifdef BLUEBERRY_DEBUG_SMARTPOINTER 151 unsigned int Object::GetTraceId()
const 156 unsigned int& Object::GetTraceIdCounter()
const 158 static unsigned int traceId = 0;
166 #ifdef BLUEBERRY_DEBUG_SMARTPOINTER 167 unsigned int&
id = GetTraceIdCounter();
186 BERRY_WARN <<
"WARNING: In " __FILE__
", line " << __LINE__ <<
"\n" 188 <<
"): Trying to delete object with non-zero reference count.";
194 m_DestroyMessage.
Send();
196 #ifdef BLUEBERRY_DEBUG_SMARTPOINTER 204 os << Indent <<
"RTTI typeinfo: " << demangledName <<
'\n';
214 os << Indent << this->
GetClassName() <<
" (" <<
this <<
")\n";
232 int Indent = m_Indent + 2;
242 os.nospace() << blanks + (40 - ind.m_Indent);
254 QDebug operator<<(QDebug os, const berry::SmartPointer<const berry::Object>& o)
259 QDebug operator<<(QDebug os, const berry::SmartPointer<berry::Object>& o)
270 QTextStream& operator<<(QTextStream& os, const berry::SmartPointer<const berry::Object>& o)
virtual QString GetClassName() const
void SetReferenceCount(int)
virtual QDebug PrintTrailer(QDebug os, Indent indent) const
static QList< Reflection::TypeInfo > GetStaticSuperclasses()
virtual bool operator==(const Object *) const
Light weight base class for most BlueBerry classes.
virtual QDebug PrintHeader(QDebug os, Indent indent) const
QDebug Print(QDebug os, Indent Indent=0) const
static const char * GetStaticClassName()
QString DemangleName(const char *mangledName)
void UnRegister(bool del=true) const
static Reflection::TypeInfo GetStaticTypeInfo()
virtual QString ToString() const
virtual bool operator<(const Object *) const
virtual Reflection::TypeInfo GetTypeInfo() const
static void RegisterObject(const Object *objectPointer)
QAtomicInt m_ReferenceCount
QDebug operator<<(QDebug os, const berry::Indent &ind)
QMutex m_ReferenceCountLock
virtual QList< Reflection::TypeInfo > GetSuperclasses() const
virtual uint HashCode() const
static void UnregisterObject(const Object *objectPointer)
uint qHash(const berry::Object &o)
static const char blanks[41]
virtual QDebug PrintSelf(QDebug os, Indent indent) const