smartable Class Reference

the base class for smart pointers implementation More...

#include <smartpointer.h>

Inheritance diagram for smartable:

guidoelement guidoparam MusicXML::TAccidental MusicXML::TArticulationElement MusicXML::TBeam MusicXML::TBendWithBar MusicXML::TClef MusicXML::TCreator MusicXML::TDegree MusicXML::TDirectionType MusicXML::TDirectionTypeElement MusicXML::TDirective MusicXML::TEncoding MusicXML::TEnding MusicXML::TExpression MusicXML::TFeature MusicXML::TFigure MusicXML::TFrame MusicXML::TFrameNote MusicXML::TGraceNote MusicXML::TGraphNote MusicXML::THarmonyChord MusicXML::TIdentification MusicXML::TKey MusicXML::TLyric MusicXML::TMeasure MusicXML::TMeasureStyle MusicXML::TMeasureStyleElement MusicXML::TMidiDevice MusicXML::TMidiInstrument MusicXML::TMiscField MusicXML::TMiscId MusicXML::TMultipleLyricPart MusicXML::TMusicData MusicXML::TNotation MusicXML::TNotationElement MusicXML::TNoteHead MusicXML::TOrnament MusicXML::TPart MusicXML::TPartList MusicXML::TPartListElement MusicXML::TPCData MusicXML::TPitch MusicXML::TRepeat MusicXML::TRights MusicXML::TRootFunction MusicXML::TScore MusicXML::TScoreHeader MusicXML::TScoreInstrument MusicXML::TStaffDetails MusicXML::TStaffTuning MusicXML::TSupport MusicXML::TSymbolicNoteDuration MusicXML::TTechnical MusicXML::TTimeModification MusicXML::TTimeSign MusicXML::TTranspose MusicXML::TTupletDesc MusicXML::TWork MusicXML::xmlattribute MusicXML::xmlelement MusicXML::xmlheader TChannelTable TPartSummary

List of all members.

Public Member Functions

unsigned refs () const
 gives the reference count of the object
void addReference ()
 addReference increments the ref count and checks for refCount overflow
void removeReference ()
 removeReference delete the object when refCount is zero

Protected Member Functions

 smartable ()
 smartable (const smartable &)
virtual ~smartable ()
 destructor checks for non-zero refCount
smartableoperator= (const smartable &)


Detailed Description

the base class for smart pointers implementation

Any object that want to support smart pointers should inherit from the smartable class which provides reference counting and automatic delete when the reference count drops to zero.


Constructor & Destructor Documentation

smartable::smartable (  )  [inline, protected]

smartable::smartable ( const smartable  )  [inline, protected]

virtual smartable::~smartable (  )  [inline, protected, virtual]

destructor checks for non-zero refCount


Member Function Documentation

void smartable::addReference (  )  [inline]

addReference increments the ref count and checks for refCount overflow

smartable& smartable::operator= ( const smartable  )  [inline, protected]

unsigned smartable::refs (  )  const [inline]

gives the reference count of the object

void smartable::removeReference (  ) 

removeReference delete the object when refCount is zero


The documentation for this class was generated from the following file:

Generated on Wed Jan 28 19:15:48 2009 for VEMUS by  doxygen 1.5.8