コード例 #1
0
 ~SharedPointer() {
     if(refs) {
         *refs = (*refs) - 1;
         if((*refs) == 0) {
             delete refs;
             _deleter(ptr);
         }
     }
 }
コード例 #2
0
 SharedPointer<T> & operator=(const SharedPointer<T> rhs) {
     if(refs) {
         *refs = (*refs) - 1;
         if((*refs) == 0) {
             delete refs;
             _deleter(ptr);
         }
     }
     
     refs = rhs.refs;
     ptr = rhs.ptr;
     if(refs) {
         *refs = (*refs) + 1;
     }
     
     return *this;
 }
コード例 #3
0
 /** Delete the managed object. */
 void reset(Pointer ptr = Pointer()) {
     _deleter(_ptr);
     _ptr = ptr;
 }
コード例 #4
0
ファイル: graphics_buffer.cpp プロジェクト: zanneth/ZGE
ZGraphicsBuffer::~ZGraphicsBuffer()
{
    _deleter(_buffer);
}