- Main Page
- Namespaces
- Classes
- Files
- Directories
- Related Pages

- File List
- File Members

# 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