add release() method

This commit is contained in:
dockes
2009-08-13 06:34:32 +00:00
parent 9b44f94629
commit 18a2454a03
+7 -1
View File
@@ -32,12 +32,18 @@ public:
(*pcount)++;
return *this;
}
~RefCntr()
void release()
{
if (pcount && --(*pcount) == 0) {
delete rep;
delete pcount;
}
rep = 0;
pcount = 0;
}
~RefCntr()
{
release();
}
X *operator->() {return rep;}
X *getptr() const {return rep;}