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