hashing.h

Go to the documentation of this file.
00001 
00004 #ifndef HASHING_H
00005 #define HASHING_H
00006 
00007 #ifdef __GNUC__
00008 #include <ext/hash_map>
00009 #else
00010 #include <hash_map>
00011 #endif
00012 
00013 #include<iostream>
00014 
00015 using namespace std;
00016 
00017 namespace std
00018 {
00019   using namespace __gnu_cxx;
00020 }
00021 
00022 
00023 template<typename T1, typename T2>
00024   
00028   class Hazy_Hashmap {
00029  private:
00030   
00031  public:
00033   Hazy_Hashmap() {}
00035   hash_map<T1,T2> map;
00036   
00043   void insertPair(T1 key, T2 element) {map[key] = element;}
00044   
00053   T2 findKeyValue(T1 key, bool &found) 
00054   {
00055     typename hash_map<T1, T2>::iterator it = map.find(key);
00056     
00057     if(it != map.end()) {
00058       found = true;
00059       return it->second;
00060     }
00061     else {
00062       found = false;
00063       return 0;
00064     }
00065   };
00066   
00074   void replaceValue(T1 key, T2 element) {map[key] = element;}
00075   
00079   void clear() {map.clear();};
00080   
00086   int size() {return map.size();}
00087 };
00088 
00089 #endif

Generated on Wed Dec 15 10:46:15 2010 for Hazy_System by  doxygen 1.4.7