00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef LIBLOOKDB_LKTIDIER_H
00019 #define LIBLOOKDB_LKTIDIER_H
00020
00021
00022
00023 #include "looktypes.h"
00024
00025 namespace look {
00026
00027
00028
00029
00030
00032
00035 template<class tBody> class LookTidier
00036 {
00037 public:
00038
00040
00045 LookTidier( tBody* theThing )
00046 : itsThing( theThing )
00047 {
00048 }
00049
00051
00054 ~LookTidier()
00055 {
00056 delete itsThing;
00057 }
00058
00060
00063 void Release( void )
00064 {
00065 itsThing = NULL;
00066 }
00067
00068 protected:
00069
00071 tBody* itsThing;
00072 };
00073
00075
00080 template<class tBody> class LookArrayTidier
00081 {
00082 public:
00083
00085
00090 LookArrayTidier( tBody* theThing )
00091 : itsThing( theThing )
00092 {
00093 }
00094
00096
00099 ~LookArrayTidier()
00100 {
00101 delete [] itsThing;
00102 }
00103
00105
00108 void Release( void )
00109 {
00110 itsThing = NULL;
00111 }
00112
00113 protected:
00114
00116 tBody* itsThing;
00117 };
00118
00119
00120 }
00121 #endif