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

hastl.h

Go to the documentation of this file.
00001 
00009 #ifndef HASTL_H
00010 #define HASTL_H
00011 
00012 #ifdef _MSC_VER
00013 // disable warning about long names for MS C++ compiler
00014 #pragma warning (disable:4786)
00015 #endif
00016 
00017 #include <queue>
00018 #if !defined(linux)
00019 #   include <limits>
00020 #endif
00021 #include <stack>
00022 #include <list>
00023 #include <map>
00024 #include <vector>
00025 #include <set>
00026 
00027 #ifdef linux
00028 #include <new>
00029 #endif
00030 
00031 #if defined(_MSC_VER) && !defined(__GNUC__) && !defined(__xlC__)
00032 // Define namespace for STL library if using Microsoft 6.0 compiler
00033 //                                           for WINDOWS
00034         using namespace std;
00035 #endif
00036 
00037 class PtrDoubleMap;
00038 
00039 class PtrDoubleMap_itr
00041 {
00042 public:
00043         PtrDoubleMap_itr( PtrDoubleMap& new_map);
00044         PtrDoubleMap_itr( PtrDoubleMap_itr& ref);
00045 
00046         void*  GetKey();
00047         double GetVal();
00048         int GetFirst();
00049         int GetNext();
00050 
00051 protected:
00052         map<void*, double, less<void*> >::iterator itr;
00053     PtrDoubleMap& int_map;
00054 };
00055 
00056 class PtrDoubleMap: public map<void*, double, less<void*> > 
00058 {
00059 public:
00060     PtrDoubleMap();
00061 
00062         typedef PtrDoubleMap_itr iterator;
00063 
00064         void clear();
00065         int count(void* ptr);
00066         int size();
00067 
00068         double GetVal(void* ptr);
00069         void SetVal(void* ptr, double val);
00070         int ierr; 
00071 };
00072 
00073 class PtrPtrMap;
00074 
00075 class PtrPtrMap_itr
00077 {
00078 public:
00079         PtrPtrMap_itr(PtrPtrMap& new_map);
00080         PtrPtrMap_itr( PtrPtrMap_itr& ref);
00081 
00082         void* GetKey();
00083         void* GetVal();
00084         int  GetFirst();
00085         int  GetNext();
00086 
00087 protected:
00088         map<void*, void*, less<void*> >::iterator itr;
00089         PtrPtrMap& int_map;
00090 
00091 };
00092 
00093 class PtrPtrMap: public map<void*, void*, less<void*> > 
00095 {
00096 public:
00097         PtrPtrMap();
00098 
00099         typedef PtrPtrMap_itr iterator;
00100 
00101         void clear();
00102         int count(void* ptr);
00103         int size();
00104 
00105         void* GetVal(void* ptr);
00106         void SetVal(void* ptr, void* val);
00107         int ierr; 
00108 };
00109         
00110 typedef map<void*, int, less<void*> > PtrIntMap;
00111 // typedef map<void*, void* , less<void*> > PtrPtrMap;
00112 typedef map<int, void* , less<int> > IntPtrMap;
00113 typedef vector<void*> VecPtr;
00114 
00115 #endif  /* !HASTL_H */ 
00116 

Generated on Tue Feb 17 02:03:06 2004 for harlem by doxygen 1.3.6