G4CountedObject< X > Class Template Reference

#include <G4ReferenceCountedHandle.hh>


Public Member Functions

 G4CountedObject (X *pObj=0)
 ~G4CountedObject ()
void AddRef ()
void Release ()
void * operator new (size_t)
void operator delete (void *pObj)

Friends

class G4ReferenceCountedHandle< X >


Detailed Description

template<class X>
class G4CountedObject< X >

Definition at line 134 of file G4ReferenceCountedHandle.hh.


Constructor & Destructor Documentation

template<class X>
G4CountedObject< X >::G4CountedObject ( X *  pObj = 0  ) 

Definition at line 180 of file G4ReferenceCountedHandle.hh.

00181  : fCount(0), fRep( pObj )
00182 {
00183     if( pObj != 0 ) {
00184       fCount = 1;
00185     }
00186 }

template<class X>
G4CountedObject< X >::~G4CountedObject (  ) 

Definition at line 189 of file G4ReferenceCountedHandle.hh.

00190 {
00191     delete fRep;
00192 }


Member Function Documentation

template<class X>
void G4CountedObject< X >::AddRef (  )  [inline]

Definition at line 195 of file G4ReferenceCountedHandle.hh.

00196 {
00197     ++fCount;
00198 }

template<class X>
void G4CountedObject< X >::operator delete ( void *  pObj  )  [inline]

Definition at line 213 of file G4ReferenceCountedHandle.hh.

References aCountedObjectAllocator.

00214 {
00215     aCountedObjectAllocator.FreeSingle( (G4CountedObject<void>*)pObj );
00216 }

template<class X>
void * G4CountedObject< X >::operator new ( size_t   )  [inline]

Definition at line 207 of file G4ReferenceCountedHandle.hh.

References aCountedObjectAllocator.

00208 {
00209     return( (void *)aCountedObjectAllocator.MallocSingle() );
00210 }

template<class X>
void G4CountedObject< X >::Release (  )  [inline]

Definition at line 201 of file G4ReferenceCountedHandle.hh.

00202 {
00203     if( --fCount == 0 ) delete this;
00204 }


Friends And Related Function Documentation

template<class X>
friend class G4ReferenceCountedHandle< X > [friend]

Definition at line 137 of file G4ReferenceCountedHandle.hh.


The documentation for this class was generated from the following file:
Generated on Mon May 27 17:51:43 2013 for Geant4 by  doxygen 1.4.7