00001 #ifndef STLEXT_H 00002 #define STLEXT_H 00003 00004 #include <iostream> 00005 #include <map> 00006 #include <string> 00007 #include <vector> 00008 using namespace std; 00009 00010 #include <stdio.h> 00011 00012 #define HASH(type) std::map<string , type> 00013 #define ITERATOR(obj) typeof(obj.begin()) 00014 #define foreach(v,i) for(ITERATOR(v) i = v.begin() ; i != v.end() ; i++) 00015 00017 template<typename T> 00018 bool KeyExists(map<string,T> m , const string &key) 00019 { 00020 typename map<string,T>::iterator locat = m.find(key); 00021 00022 return (locat != m.end()); 00023 } 00024 00027 bool FileExist(const char *src); 00028 00032 struct Exit 00033 { 00034 Exit(int r); 00035 00036 int ret; 00037 }; 00038 00039 ostream &operator<<(ostream &os , const Exit &e); 00040 00041 #endif