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