aboutsummaryrefslogtreecommitdiff
path: root/engines/gob/helper.h
diff options
context:
space:
mode:
authorMax Horn2009-06-06 20:03:13 +0000
committerMax Horn2009-06-06 20:03:13 +0000
commit0989bb0b9087e74662f546d13b2f16544cfba20b (patch)
tree146dd1f80bc6367b4de30d229e47a7776f2b59a9 /engines/gob/helper.h
parent24a512cab08a12eb2b8f3b759d7f3d82c6853a21 (diff)
downloadscummvm-rg350-0989bb0b9087e74662f546d13b2f16544cfba20b.tar.gz
scummvm-rg350-0989bb0b9087e74662f546d13b2f16544cfba20b.tar.bz2
scummvm-rg350-0989bb0b9087e74662f546d13b2f16544cfba20b.zip
GOB: Got rid of class ReferenceCounter; changed SurfaceDesc::Ptr to SurfaceDescPtr (a Common::SharedPtr); and changed many SurfaceDesc pointers to references
svn-id: r41299
Diffstat (limited to 'engines/gob/helper.h')
-rw-r--r--engines/gob/helper.h52
1 files changed, 0 insertions, 52 deletions
diff --git a/engines/gob/helper.h b/engines/gob/helper.h
index fbb5ae7ec8..d1f24792a5 100644
--- a/engines/gob/helper.h
+++ b/engines/gob/helper.h
@@ -35,58 +35,6 @@ inline char *strncpy0(char *dest, const char *src, size_t n) {
return dest;
}
-/** A "smart" reference counting templated class. */
-template<typename T>
-class ReferenceCounter {
-public:
- class Ptr {
- public:
- bool operator==(const Ptr &p) const { return _p == p._p; }
- bool operator==(const ReferenceCounter *p) const { return _p == p; }
-
- T *operator-> () { return _p; }
- T &operator* () { return *_p; }
- operator T*() { return _p; }
-
- Ptr(T *p) : _p(p) { ++_p->_references; }
- Ptr() : _p(0) { }
-
- ~Ptr() {
- if (_p && (--_p->_references == 0))
- delete _p;
- }
-
- Ptr(const Ptr &p) : _p(p._p) { ++_p->_references; }
-
- Ptr &operator= (const Ptr &p) {
- ++p._p->_references;
- if (_p && (--_p->_references == 0))
- delete _p;
- _p = p._p;
- return *this;
- }
- Ptr *operator= (const Ptr *p) {
- if (p)
- ++p->_p->_references;
- if (_p && (--_p->_references == 0))
- delete _p;
-
- _p = p ? p->_p : 0;
- return this;
- }
-
- private:
- T *_p;
- };
-
- ReferenceCounter() : _references(0) { }
- virtual ~ReferenceCounter() {}
-
-private:
- unsigned _references;
- friend class Ptr;
-};
-
} // End of namespace Gob
#endif // GOB_HELPER_H