41 #ifndef __CAReferenceCounted_h__
42 #define __CAReferenceCounted_h__
47 class CAReferenceCounted {
49 CAReferenceCounted() : mRefCount(1) {}
51 void retain() { CAAtomicIncrement32(&mRefCount); }
55 SInt32 rc = CAAtomicDecrement32 (&mRefCount);
62 virtual ~CAReferenceCounted() { }
64 virtual void releaseObject ()
69 SInt32 GetReferenceCount()
const {
return mRefCount; }
73 CAReferenceCounted(
const CAReferenceCounted &a) : mRefCount(0) { }
74 CAReferenceCounted &operator=(
const CAReferenceCounted &a) {
return *
this; }
78 #endif // __CAReferenceCounted_h__