TCountedPointerArray.hpp

Go to the documentation of this file.
00001 #ifndef __TCountedPointerArray__
00002 #define __TCountedPointerArray__
00003 
00004 #include "TPointerCollection.hpp"
00005 #include "TPointerDeleter.hpp"
00006 using Exponent::Collections::TCountedObjectDeleter;
00007 
00008 //  ===========================================================================
00009 
00010 
00011 namespace Exponent
00012 {
00013     namespace Collections
00014     {
00037         template<class TypeName> class TCountedPointerArray : public TPointerCollection<TypeName>
00038         {
00040             EXPONENT_CLASS_DECLARATION;
00043 //  ===========================================================================
00044 
00045         public:
00046 
00047 //  ===========================================================================
00048 
00049             static TCountedObjectDeleter<TypeName> TCOUNTEDPOINTER_ARRAY_DEFAULT_DELETER;           
00051 //  ===========================================================================
00052 
00056             TCountedPointerArray();
00057 
00061             ~TCountedPointerArray();
00062         };
00063 
00066         EXPONENT_TEMPLATE_CLASS_IMPLEMENTATION_TEMPLATE_PARENT(TCountedPointerArray<TypeName>, TypeName, TPointerCollection<TypeName>, TypeName);
00067 
00068         template<class TypeName> TCountedObjectDeleter<TypeName> TCountedPointerArray<TypeName>::TCOUNTEDPOINTER_ARRAY_DEFAULT_DELETER;     
00069 
00070 //  ===========================================================================
00071         template<class TypeName> TCountedPointerArray<TypeName>::TCountedPointerArray() : Exponent::Collections::TPointerCollection<TypeName>(&TCOUNTEDPOINTER_ARRAY_DEFAULT_DELETER)
00072         {
00073             EXPONENT_CLASS_CONSTRUCTION(TCountedPointerArray<TypeName>);
00074         }
00075 
00076 //  ===========================================================================
00077         template<class TypeName> TCountedPointerArray<TypeName>::~TCountedPointerArray()
00078         {
00079             EXPONENT_CLASS_DESTRUCTION(TCountedPointerArray<TypeName>);
00080         }
00081 
00083     }
00084 }
00085 #endif      // End of TCountedPointerArray.hpp

Infinity API - TCountedPointerArray.hpp Source File generated on 7 Mar 2007