#ifndef _my_stl_defs_
#define _my_stl_defs_
#include <list>
#include <map>
typedef map<string, string*> StringMap;
typedef StringMap::iterator sm_iter;
typedef map<string, int*> IntMap;
typedef IntMap::iterator im_iter;
typedef map<string, bool*> BoolMap;
typedef BoolMap::iterator bm_iter;
... // other stuff not shown here
typedef list<string>::iterator sl_It;
class StrList : public list <string>
{
public:
StrList();
~StrList();
sl_It Insert_A_Before_B(const string& A, const string& B);
sl_It Insert_A_After_B(const string& A, const string& B);
void Append(const char* sz);
void Append(const string& str);
sl_It Insert(sl_It pos, const string& str);
sl_It Insert(sl_It pos, const char *sz);
bool WriteFile(const char* sz_file_name);
};