Diffpack Documentation


Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members   Search  

HandleId.h

Go to the documentation of this file.
00001 
00005 class HandleId
00006 
00007 {
00008 protected:
00009   static  int name_counter; 
00010   int     refcount;         
00011   char    dynamic_object;   
00012 
00013 #ifdef SAFETY_CHECKS        
00014   int     name_code;        
00015   String  name_str;         
00016   String  class_tp;         
00017   size_t  mem_size;         
00018   bool    trace_me;         
00019 #endif
00020 
00021 public:
00022   HandleId ();
00023   virtual ~HandleId ();
00024 
00025   static int howManyHandles()   { return name_counter; }
00026   bool isReferenced () const    { return getbool(refcount != 0); }
00027   int  getNoRefs () const       { return refcount; }
00028   bool dynamicObj () const      { return getbool(dynamic_object=='1'); }
00029 
00030 #ifdef SAFETY_CHECKS    
00031   int  getNameCode () const      { return name_code; }
00032   bool hasClassType () const;
00033   void setClassType (const char* class_tp);
00034   
00035   void increment ();               
00036   void decrement ();               
00037 private:
00038   void identity  ();  
00039 public:
00040 #else
00041   
00042   void increment ()                { refcount++; }
00043   void decrement ()                { refcount--; }
00044 #endif
00045 
00046   void  traceMe (const char* name_of_variable);
00047   void* operator new (size_t t);
00048 #ifdef WIN32
00049   void* operator new (size_t t, const char* /*filename*/, int /*lineno*/);
00050 #endif
00051   void  operator delete (void* v);
00052 };
00053 
00054 , int /*lineno*/) 
00159 See documentation of one of the overloaded functions.
00160 */
00161 , int /*lineno*/) 
00273 See documentation of one of the overloaded functions.
00274 */
00275 

Copyright © 2003 inuTech GmbH. All rights reserved.