Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-18 09:54:35

0001 // -*- C++ -*-
0002 // $Id:
0003 //------------------RCBase--------------------------------------------------//
0004 //                                                                          //
0005 // Class RCBase                                                             //
0006 // Joe Boudreau                                                             // 
0007 // Base class for reference counting                                        //
0008 //                                                                          //
0009 //--------------------------------------------------------------------------//
0010 #ifndef RCBase_h
0011 #define RCBase_h 1
0012 namespace Genfun {
0013   /**
0014    * @author
0015    * @ingroup genfun
0016    */
0017   class RCBase 
0018   {
0019     
0020   public:
0021     
0022     RCBase();
0023     
0024     
0025     void ref() const;
0026     
0027     void unref() const;
0028     
0029     unsigned int refCount() const;
0030     
0031     
0032   protected:
0033     
0034     virtual ~RCBase();
0035     
0036   private:
0037     
0038     RCBase(const RCBase &right);
0039     
0040     const RCBase & operator=(const RCBase &right);
0041     
0042     mutable unsigned short int _count;
0043     
0044     
0045     
0046   };
0047   
0048   
0049   
0050 }
0051 
0052 
0053 #endif
0054 
0055