add release() method

This commit is contained in:
dockes 2009-08-13 06:34:32 +00:00
parent 9b44f94629
commit 18a2454a03

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;}