rubidium@7792: /* $Id$ */ rubidium@7792: rubidium@10429: /** @file countedobj.cpp Support for reference counted objects. */ rubidium@10429: rubidium@7792: #include "../stdafx.h" rubidium@7792: rubidium@7792: #include "countedptr.hpp" rubidium@7792: rubidium@7792: int32 SimpleCountedObject::AddRef() rubidium@7792: { rubidium@7792: return ++m_ref_cnt; rubidium@7792: } rubidium@7792: rubidium@7792: int32 SimpleCountedObject::Release() rubidium@7792: { rubidium@7792: int32 res = --m_ref_cnt; rubidium@7792: assert(res >= 0); rubidium@7792: if (res == 0) { rubidium@7792: FinalRelease(); rubidium@7792: delete this; rubidium@7792: } rubidium@7792: return res; rubidium@7792: }