19 #ifdef BLUEBERRY_DEBUG_SMARTPOINTER
43 ::operator
new(
size_t n)
50 ::operator
new[](
size_t n)
57 ::operator
delete(
void* m)
64 ::operator
delete[](
void* m, size_t)
72 return "berry::Object";
82 return Reflection::TypeInfo::New<Self>();
92 return QList<Reflection::TypeInfo>();
154 #ifdef BLUEBERRY_DEBUG_SMARTPOINTER
155 unsigned int Object::GetTraceId()
const
160 unsigned int& Object::GetTraceIdCounter()
const
162 static unsigned int traceId = 0;
170 #ifdef BLUEBERRY_DEBUG_SMARTPOINTER
171 unsigned int&
id = GetTraceIdCounter();
190 BERRY_WARN <<
"WARNING: In " __FILE__
", line " << __LINE__ <<
"\n"
192 <<
"): Trying to delete object with non-zero reference count.";
198 m_DestroyMessage.
Send();
200 #ifdef BLUEBERRY_DEBUG_SMARTPOINTER
208 os << Indent <<
"RTTI typeinfo: " << demangledName <<
'\n';
218 os << Indent << this->
GetClassName() <<
" (" <<
this <<
")\n";
236 int Indent = m_Indent + 2;
246 os.nospace() << blanks + (40 - ind.m_Indent);
258 QDebug operator<<(QDebug os, const berry::SmartPointer<const berry::Object>& o)
263 QDebug operator<<(QDebug os, const berry::SmartPointer<berry::Object>& o)
274 QTextStream& operator<<(QTextStream& os, const berry::SmartPointer<const berry::Object>& o)
virtual uint HashCode() const
virtual Reflection::TypeInfo GetTypeInfo() const
void SetReferenceCount(int)
QDebug Print(QDebug os, Indent Indent=0) const
static QList< Reflection::TypeInfo > GetStaticSuperclasses()
virtual QDebug PrintTrailer(QDebug os, Indent indent) const
void UnRegister(bool del=true) const
Light weight base class for most BlueBerry classes.
virtual QList< Reflection::TypeInfo > GetSuperclasses() const
virtual bool operator==(const Object *) const
virtual bool operator<(const Object *) const
virtual QDebug PrintSelf(QDebug os, Indent indent) const
static const char * GetStaticClassName()
virtual QDebug PrintHeader(QDebug os, Indent indent) const
QString DemangleName(const char *mangledName)
static Reflection::TypeInfo GetStaticTypeInfo()
QDebug operator<<(QDebug os, const berry::Object &o)
virtual QString GetClassName() const
static void RegisterObject(const Object *objectPointer)
virtual QString ToString() const
QAtomicInt m_ReferenceCount
QDebug operator<<(QDebug os, const berry::Indent &ind)
QMutex m_ReferenceCountLock
static void UnregisterObject(const Object *objectPointer)
uint qHash(const berry::Object &o)
static const char blanks[41]