dmuratshin 9 years ago
parent
commit
7a15155e85
1 changed files with 21 additions and 0 deletions
  1. 21 0
      oxygine/src/core/ref_counter.h

+ 21 - 0
oxygine/src/core/ref_counter.h

@@ -39,4 +39,25 @@ namespace oxygine
     {
     {
         p->releaseRef();
         p->releaseRef();
     }
     }
+
+
+    class AutoRefHolder
+    {
+    public:
+        AutoRefHolder(ref_counter* rc) : _rc(rc)
+        {
+            _rc->addRef();
+        }
+
+        ~AutoRefHolder()
+        {
+            _rc->releaseRef();
+        }
+
+        ref_counter* _rc;
+
+    private:
+        AutoRefHolder(const AutoRefHolder&);
+        AutoRefHolder& operator=(const AutoRefHolder&);
+    };
 }
 }