Main Page | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members | Related Pages

Common/KWCommon/vtkAbstractList.h

Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Module:    $RCSfile: vtkAbstractList.h,v $
00004 
00005   Copyright (c) Kitware, Inc.
00006   All rights reserved.
00007   See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
00008 
00009      This software is distributed WITHOUT ANY WARRANTY; without even
00010      the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
00011      PURPOSE.  See the above copyright notice for more information.
00012 
00013 =========================================================================*/
00086 #include "vtkContainer.h"
00087 
00088 #ifndef __vtkAbstractList_h
00089 #define __vtkAbstractList_h
00090 
00091 // Since some compilers have problems with keyword typename, we have 
00092 // to do this with macros.
00093 #define vtkAbstractListCompareFunction(KeyType, CompareFunction) \
00094     int (*CompareFunction)(const KeyType&  k1, const KeyType& k2)
00095 
00096 template<class DType>
00097 class vtkAbstractList : public vtkContainer
00098 {
00099   virtual const char* GetClassNameInternal() const { return "vtkAbstractList"; }
00100 public:
00101   typedef vtkContainer Superclass;
00102   static vtkAbstractList<DType>* New();
00103 
00104   // Just to avoid typing over and over, let us define some typedefs.
00105   // They will not work in subclasses, but this header file will 
00106   // be more readable.
00107   typedef vtkAbstractListCompareFunction(DType, CompareFunctionType);
00108 
00109 
00110 protected:
00111   vtkAbstractList();
00112 
00113 private:
00114   vtkAbstractList(const vtkAbstractList<DType>&); // Not implement
00115   void operator=(const vtkAbstractList<DType>&); // Not implement
00116 };
00117 
00118 #ifdef VTK_NO_EXPLICIT_TEMPLATE_INSTANTIATION
00119 #include "vtkAbstractList.txx"
00120 #endif 
00121 
00122 #endif
00123 
00124 
00125 

Generated on Tue May 30 12:31:37 2006 for ParaView by doxygen 1.3.5