]> git.mxchange.org Git - simgear.git/blobdiff - simgear/structure/SGReferenced.hxx
Fix #1783: repeated error message on console
[simgear.git] / simgear / structure / SGReferenced.hxx
index 343d4c4c0ee14df8af0f6b6c1fd7917a5f5c1f1d..67e4fb1ed18ba36b7d42d206dfd9155047d0a0ee 100644 (file)
 /// Base class for all reference counted SimGear objects
 /// Classes derived from this one are meant to be managed with
 /// the SGSharedPtr class.
-/// For more info see @SGSharedPtr.
+///
+/// For more info see SGSharedPtr. For using weak references see
+/// SGWeakReferenced.
 
 class SGReferenced {
 public:
   SGReferenced(void) : _refcount(0u)
   {}
-  virtual ~SGReferenced()
-  {}
   /// Do not copy reference counts. Each new object has it's own counter
   SGReferenced(const SGReferenced&) : _refcount(0u)
   {}
@@ -42,11 +42,11 @@ public:
   { return *this; }
 
   static unsigned get(const SGReferenced* ref)
-  { if (ref) return ++(ref->_refcount); else return ~0u; }
+  { if (ref) return ++(ref->_refcount); else return 0; }
   static unsigned put(const SGReferenced* ref)
-  { if (ref) return --(ref->_refcount); else return ~0u; }
+  { if (ref) return --(ref->_refcount); else return 0; }
   static unsigned count(const SGReferenced* ref)
-  { if (ref) return ref->_refcount; else return ~0u; }
+  { if (ref) return ref->_refcount; else return 0; }
   static bool shared(const SGReferenced* ref)
   { if (ref) return 1u < ref->_refcount; else return false; }