[GME-commit] GMESRC/GME/Parser GenParser.cpp,1.10,1.11 GenParser.h,1.9,1.10 Helper.cpp,1.1,1.2 Helper.h,1.1,1.2 MetaParser.cpp,1.22,1.23 MetaParser.h,1.5,1.6 MgaDumper.cpp,1.19,1.20 MgaDumper.h,1.12,1.13 MgaParser.cpp,1.26,1.27 MgaParser.h,1.11,1.12 MgaParserBC.cpp,1.3,1.4 MgaParserClosureHelper.cpp,1.2,1.3 MgaParserSC.cpp,1.2,1.3 MgaXslt.cpp,1.5,1.6 Parser.dsp,1.14,1.15 StdAfx.h,1.2,1.3 Transcoder.cpp,1.1,1.2 Transcoder.h,1.1,1.2

gme-commit at list.isis.vanderbilt.edu gme-commit at list.isis.vanderbilt.edu
Wed Oct 13 11:18:00 CDT 2004


Update of /var/lib/gme/GMESRC/GME/Parser
In directory braindrain:/tmp/cvs-serv20870/Parser

Modified Files:
	GenParser.cpp GenParser.h Helper.cpp Helper.h MetaParser.cpp 
	MetaParser.h MgaDumper.cpp MgaDumper.h MgaParser.cpp 
	MgaParser.h MgaParserBC.cpp MgaParserClosureHelper.cpp 
	MgaParserSC.cpp MgaXslt.cpp Parser.dsp StdAfx.h Transcoder.cpp 
	Transcoder.h 
Log Message:
GME ported to STLport
-std:: prefix added to stl classes and methods



CVS User: zolmol

Index: GenParser.cpp
===================================================================
RCS file: /var/lib/gme/GMESRC/GME/Parser/GenParser.cpp,v
retrieving revision 1.10
retrieving revision 1.11
diff -C2 -d -r1.10 -r1.11
*** GenParser.cpp	8 Apr 2004 08:34:25 -0000	1.10
--- GenParser.cpp	13 Oct 2004 15:17:55 -0000	1.11
***************
*** 28,32 ****
  void CGenParser::SetErrorInfo2(HRESULT hr)
  {
! 	string str;
  	Format(str, "in file %s at line %ld, char %ld", 
  		xmlfile.c_str(), err_line, err_column);
--- 28,32 ----
  void CGenParser::SetErrorInfo2(HRESULT hr)
  {
! 	std::string str;
  	Format(str, "in file %s at line %ld, char %ld", 
  		xmlfile.c_str(), err_line, err_column);
***************
*** 42,49 ****
  	va_start(args, format);
  
! 	string desc;
  	vFormat(desc, format, args);
  
! 	string str;
  	if( locator != NULL )
  		Format(str, 
--- 42,49 ----
  	va_start(args, format);
  
! 	std::string desc;
  	vFormat(desc, format, args);
  
! 	std::string str;
  	if( locator != NULL )
  		Format(str, 
***************
*** 66,70 ****
  	{
  		XmlStr sysid = systemId;
! 		string syssid = sysid;
  
  		HMODULE hm = GetModuleHandle("PARSER.DLL");
--- 66,70 ----
  	{
  		XmlStr sysid = systemId;
! 		std::string syssid = sysid;
  
  		HMODULE hm = GetModuleHandle("PARSER.DLL");
***************
*** 132,136 ****
  		for(unsigned int index = 0; index < len; index++)
  		{
! 			attributes.push_back( pair<string,string>(
  				XmlStr(attrlist.getName(index)), XmlStr(attrlist.getValue(index))) );
  		}
--- 132,136 ----
  		for(unsigned int index = 0; index < len; index++)
  		{
! 			attributes.push_back( std::pair<std::string,std::string>(
  				XmlStr(attrlist.getName(index)), XmlStr(attrlist.getValue(index))) );
  		}
***************
*** 226,230 ****
  // ------- Attributes
  
! const string *CGenParser::GetByNameX(const attributes_type &attributes, const char *name)
  {
  	attributes_iterator i = attributes.begin();
--- 226,230 ----
  // ------- Attributes
  
! const std::string *CGenParser::GetByNameX(const attributes_type &attributes, const char *name)
  {
  	attributes_iterator i = attributes.begin();
***************
*** 241,245 ****
  }
  
! long CGenParser::toLong(string s)
  {
  	const char *c = s.c_str();
--- 241,245 ----
  }
  
! long CGenParser::toLong(std::string s)
  {
  	const char *c = s.c_str();
***************
*** 248,252 ****
  	long a = strtol(c, &e, 0);
  
! 	if( (e - c) != s.length() )
  		HR_THROW(E_INVALID_XML_LONG);
  
--- 248,252 ----
  	long a = strtol(c, &e, 0);
  
! 	if( (e - c) != (int) s.length() )//zolmol!
  		HR_THROW(E_INVALID_XML_LONG);
  
***************
*** 254,258 ****
  }
  
! unsigned long CGenParser::toULong(string s)
  {
  	const char *c = s.c_str();
--- 254,258 ----
  }
  
! unsigned long CGenParser::toULong(std::string s)
  {
  	const char *c = s.c_str();
***************
*** 261,265 ****
  	long a = strtoul(c, &e, 0);
  
! 	if( (e - c) != s.length() )
  		HR_THROW(E_INVALID_XML_LONG);
  
--- 261,265 ----
  	long a = strtoul(c, &e, 0);
  
! 	if( (e - c) != (int) s.length() )//zolmol!
  		HR_THROW(E_INVALID_XML_LONG);
  

Index: GenParser.h
===================================================================
RCS file: /var/lib/gme/GMESRC/GME/Parser/GenParser.h,v
retrieving revision 1.9
retrieving revision 1.10
diff -C2 -d -r1.9 -r1.10
*** GenParser.h	8 Apr 2004 08:34:25 -0000	1.9
--- GenParser.h	13 Oct 2004 15:17:55 -0000	1.10
***************
*** 9,13 ****
  // --------------------------- XmlStr
  
! class XmlStr : public string
  {
  public:
--- 9,13 ----
  // --------------------------- XmlStr
  
! class XmlStr : public std::string
  {
  public:
***************
*** 55,67 ****
  // ------- Attributes
  
! 	typedef vector< pair<string, string> > attributes_type;
  	typedef attributes_type::const_iterator attributes_iterator;
  
! 	static const string *GetByNameX(const attributes_type &attributes, const char *name);
  
! 	static const string &GetByName(const attributes_type &attributes, const char *name)
  	{
! 		const string *p = GetByNameX(attributes, name);
! 		const static string nullstr;
  
  		if( p == NULL ) p = &nullstr;
--- 55,67 ----
  // ------- Attributes
  
! 	typedef std::vector< std::pair<std::string, std::string> > attributes_type;
  	typedef attributes_type::const_iterator attributes_iterator;
  
! 	static const std::string *GetByNameX(const attributes_type &attributes, const char *name);
  
! 	static const std::string &GetByName(const attributes_type &attributes, const char *name)
  	{
! 		const std::string *p = GetByNameX(attributes, name);
! 		const static std::string nullstr;
  
  		if( p == NULL ) p = &nullstr;
***************
*** 84,89 ****
  	}
  
! 	static long toLong(string s);
! 	static unsigned long toULong(string s);
  
  	template<class INTERFACE, class FUNC_INTERFACE>
--- 84,89 ----
  	}
  
! 	static long toLong(std::string s);
! 	static unsigned long toULong(std::string s);
  
  	template<class INTERFACE, class FUNC_INTERFACE>
***************
*** 124,128 ****
  
  public:
! 	string xmlfile;
  	CComBstrObj errorinfo;
  	long err_line;
--- 124,128 ----
  
  public:
! 	std::string xmlfile;
  	CComBstrObj errorinfo;
  	long err_line;
***************
*** 134,141 ****
  	struct element_type
  	{
! 		string name;
! 		string chardata;
  		CComObjPtr<IUnknown> object;
! 		string exstrinfo;
  		long   exnuminfo;
  
--- 134,141 ----
  	struct element_type
  	{
! 		std::string name;
! 		std::string chardata;
  		CComObjPtr<IUnknown> object;
! 		std::string exstrinfo;
  		long   exnuminfo;
  
***************
*** 144,148 ****
  	};
  
! 	vector<element_type> elements;
  
  public:
--- 144,148 ----
  	};
  
! 	std::vector<element_type> elements;
  
  public:
***************
*** 152,162 ****
  		ASSERT( elements.size() >= 2 );
  
! 		vector<element_type>::const_iterator i = elements.end();
  		--i; --i;
  		return *i;
  	}
  
! 	string &GetCurrData() { return GetCurrent().chardata; }
! 	const string &GetPrevName() const { return GetPrevious().name; }
  	
  	template<class T>
--- 152,162 ----
  		ASSERT( elements.size() >= 2 );
  
! 		std::vector<element_type>::const_iterator i = elements.end();
  		--i; --i;
  		return *i;
  	}
  
! 	std::string &GetCurrData() { return GetCurrent().chardata; }
! 	const std::string &GetPrevName() const { return GetPrevious().name; }
  	
  	template<class T>
***************
*** 170,174 ****
  	PutInBstr PutInBstrAttr(const attributes_type &attributes, const char *name)
  	{
! 		const string *s = GetByNameX(attributes, name);
  		if( s == NULL )
  			return "";
--- 170,174 ----
  	PutInBstr PutInBstrAttr(const attributes_type &attributes, const char *name)
  	{
! 		const std::string *s = GetByNameX(attributes, name);
  		if( s == NULL )
  			return "";
***************
*** 184,188 ****
  	CGenParserFunc_Base(const char *n) : name(n) { }
  
! 	string name;
  
  	virtual void Start(CGenParser *parser, const CGenParser::attributes_type &attributes) = 0;
--- 184,188 ----
  	CGenParserFunc_Base(const char *n) : name(n) { }
  
! 	std::string name;
  
  	virtual void Start(CGenParser *parser, const CGenParser::attributes_type &attributes) = 0;

Index: Helper.cpp
===================================================================
RCS file: /var/lib/gme/GMESRC/GME/Parser/Helper.cpp,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** Helper.cpp	27 Sep 2004 21:33:01 -0000	1.1
--- Helper.cpp	13 Oct 2004 15:17:55 -0000	1.2
***************
*** 6,14 ****
  //	true : includes the separator in the token
  //	false: does not include the separator character in the token
! list<string> tokenizer( string m, char separator /*= '/' */, bool include_separator /* = true */)
  {
  	int offs = include_separator?0:1;
! 	list<string> r;
! 	string last;
  	while( !m.empty())
  	{
--- 6,14 ----
  //	true : includes the separator in the token
  //	false: does not include the separator character in the token
! std::list<std::string> tokenizer( std::string m, char separator /*= '/' */, bool include_separator /* = true */)
  {
  	int offs = include_separator?0:1;
! 	std::list<std::string> r;
! 	std::string last;
  	while( !m.empty())
  	{
***************
*** 31,39 ****
  //
  // does not include the separator character in the token
! bool findExact( const string& m, const string& to_find)
  {
! 	list< string> tokens = tokenizer( m, ' ', false);
! 	list< string>::iterator i = tokens.begin();
! 	list< string>::iterator e = tokens.end();
  	while( i != e && (*i).compare( to_find) != 0)
  		++i;
--- 31,39 ----
  //
  // does not include the separator character in the token
! bool findExact( const std::string& m, const std::string& to_find)
  {
! 	std::list< std::string> tokens = tokenizer( m, ' ', false);
! 	std::list< std::string>::iterator i = tokens.begin();
! 	std::list< std::string>::iterator e = tokens.end();
  	while( i != e && (*i).compare( to_find) != 0)
  		++i;
***************
*** 43,53 ****
  
  // it calculates nm1's name relatively to nm2
! string makeRel( string& nm1, string& nm2)
  {
! 	list<string> r1 = tokenizer( nm1);
! 	list<string> r2 = tokenizer( nm2);
  
! 	list<string>::iterator i1 = r1.begin();
! 	list<string>::iterator i2 = r2.begin();
  	while( i1 != r1.end() && i2 != r2.end() && *i1 == *i2)
  	{
--- 43,53 ----
  
  // it calculates nm1's name relatively to nm2
! std::string makeRel( std::string& nm1, std::string& nm2)
  {
! 	std::list<std::string> r1 = tokenizer( nm1);
! 	std::list<std::string> r2 = tokenizer( nm2);
  
! 	std::list<std::string>::iterator i1 = r1.begin();
! 	std::list<std::string>::iterator i2 = r2.begin();
  	while( i1 != r1.end() && i2 != r2.end() && *i1 == *i2)
  	{
***************
*** 56,60 ****
  	}
  
! 	string relpath;
  	int count = 0; // how many levels in nm2
  	while( i2 != r2.end()) ++i2, ++count, relpath +="/@..";
--- 56,60 ----
  	}
  
! 	std::string relpath;
  	int count = 0; // how many levels in nm2
  	while( i2 != r2.end()) ++i2, ++count, relpath +="/@..";
***************
*** 76,87 ****
  }
  
! string makeViewable( const string& m)
  {
! 	string res;
! 	list<string> r1 = tokenizer( m);
! 	list<string>::iterator i1 = r1.begin();
  	while( i1 != r1.end())
  	{
! 		string p = *i1;
  		if( p.substr(0, 2) == "/@")
  			p = p.substr(2); // "/@"
--- 76,87 ----
  }
  
! std::string makeViewable( const std::string& m)
  {
! 	std::string res;
! 	std::list<std::string> r1 = tokenizer( m);
! 	std::list<std::string>::iterator i1 = r1.begin();
  	while( i1 != r1.end())
  	{
! 		std::string p = *i1;
  		if( p.substr(0, 2) == "/@")
  			p = p.substr(2); // "/@"
***************
*** 97,103 ****
  
  
! string makeNameViewable( const string& m)
  {
! 	string res = m;
  	if( res.substr(0, 2) == "/@")
  		res = res.substr(2);
--- 97,103 ----
  
  
! std::string makeNameViewable( const std::string& m)
  {
! 	std::string res = m;
  	if( res.substr(0, 2) == "/@")
  		res = res.substr(2);

Index: Helper.h
===================================================================
RCS file: /var/lib/gme/GMESRC/GME/Parser/Helper.h,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** Helper.h	27 Sep 2004 21:33:01 -0000	1.1
--- Helper.h	13 Oct 2004 15:17:55 -0000	1.2
***************
*** 5,17 ****
  #include <string>
  
! list<string> tokenizer( string m, char separator = '/', bool include_separator = true);
  
! bool findExact( const string& m, const string& to_find);
  
! string makeRel( string& nm, string& nm2);
  
! string makeViewable( const string& m);
  
! string makeNameViewable( const string& m);
  
  #endif // HELPER_H_259823495872394857
--- 5,17 ----
  #include <string>
  
! std::list<std::string> tokenizer( std::string m, char separator = '/', bool include_separator = true);
  
! bool findExact( const std::string& m, const std::string& to_find);
  
! std::string makeRel( std::string& nm, std::string& nm2);
  
! std::string makeViewable( const std::string& m);
  
! std::string makeNameViewable( const std::string& m);
  
  #endif // HELPER_H_259823495872394857

Index: MetaParser.cpp
===================================================================
RCS file: /var/lib/gme/GMESRC/GME/Parser/MetaParser.cpp,v
retrieving revision 1.22
retrieving revision 1.23
diff -C2 -d -r1.22 -r1.23
*** MetaParser.cpp	20 Jul 2004 16:01:39 -0000	1.22
--- MetaParser.cpp	13 Oct 2004 15:17:55 -0000	1.23
***************
*** 7,11 ****
  
  #include <stdio.h>
! #include <fstream.h>
  // --------------------------- CMetaParser
  
--- 7,11 ----
  
  #include <stdio.h>
! #include <fstream>//fstream.h
  // --------------------------- CMetaParser
  
***************
*** 66,70 ****
  //calculate checksum:
  				int sum = 0, cyc = 0;
! 				ifstream inf(xmlfile.c_str());
  				while(inf.good()) {
  					int l = inf.get();
--- 66,70 ----
  //calculate checksum:
  				int sum = 0, cyc = 0;
! 				std::ifstream inf(xmlfile.c_str());
  				while(inf.good()) {
  					int l = inf.get();
***************
*** 130,135 ****
  // ------- Attributes
  
! const string CMetaParser::GetNextToken(string::const_iterator &i,
! 	string::const_iterator &e, string::const_iterator end)
  {
  	i = e;
--- 130,135 ----
  // ------- Attributes
  
! const std::string CMetaParser::GetNextToken(std::string::const_iterator &i,
! 	std::string::const_iterator &e, std::string::const_iterator end)
  {
  	i = e;
***************
*** 141,145 ****
  		++e;
  
! 	return string(i, e);
  }
  
--- 141,145 ----
  		++e;
  
! 	return std::string(i, e);
  }
  
***************
*** 326,335 ****
  		if( i->first == "subfolders" )
  		{
! 			string::const_iterator ip = i->second.begin();
! 			string::const_iterator ep = ip;
! 			string::const_iterator xp = i->second.end();
  			for(;;)
  			{
! 				string token = GetNextToken(ip, ep, xp);
  				if( ip == xp )
  					break;
--- 326,335 ----
  		if( i->first == "subfolders" )
  		{
! 			std::string::const_iterator ip = i->second.begin();
! 			std::string::const_iterator ep = ip;
! 			std::string::const_iterator xp = i->second.end();
  			for(;;)
  			{
! 				std::string token = GetNextToken(ip, ep, xp);
  				if( ip == xp )
  					break;
***************
*** 351,360 ****
  		else if( i->first == "rootobjects" )
  		{
! 			string::const_iterator ip = i->second.begin();
! 			string::const_iterator ep = ip;
! 			string::const_iterator xp = i->second.end();
  			for(;;)
  			{
! 				string token = GetNextToken(ip, ep, xp);
  				if( ip == xp )
  					break;
--- 351,360 ----
  		else if( i->first == "rootobjects" )
  		{
! 			std::string::const_iterator ip = i->second.begin();
! 			std::string::const_iterator ep = ip;
! 			std::string::const_iterator xp = i->second.end();
  			for(;;)
  			{
! 				std::string token = GetNextToken(ip, ep, xp);
  				if( ip == xp )
  					break;
***************
*** 642,651 ****
  		if( i->first == "attributes" )
  		{
! 			string::const_iterator ip = i->second.begin();
! 			string::const_iterator ep = ip;
! 			string::const_iterator xp = i->second.end();
  			for(;;)
  			{
! 				string token = GetNextToken(ip, ep, xp);
  				if( ip == xp )
  					break;
--- 642,651 ----
  		if( i->first == "attributes" )
  		{
! 			std::string::const_iterator ip = i->second.begin();
! 			std::string::const_iterator ep = ip;
! 			std::string::const_iterator xp = i->second.end();
  			for(;;)
  			{
! 				std::string token = GetNextToken(ip, ep, xp);
  				if( ip == xp )
  					break;
***************
*** 799,808 ****
  		if( i->first == "attributes" )
  		{
! 			string::const_iterator ip = i->second.begin();
! 			string::const_iterator ep = ip;
! 			string::const_iterator xp = i->second.end();
  			for(;;)
  			{
! 				string token = GetNextToken(ip, ep, xp);
  				if( ip == xp )
  					break;
--- 799,808 ----
  		if( i->first == "attributes" )
  		{
! 			std::string::const_iterator ip = i->second.begin();
! 			std::string::const_iterator ep = ip;
! 			std::string::const_iterator xp = i->second.end();
  			for(;;)
  			{
! 				std::string token = GetNextToken(ip, ep, xp);
  				if( ip == xp )
  					break;
***************
*** 881,885 ****
  	CComObjPtr<IMgaMetaRegNode> regnode;
  
! 	const string &name = GetByName(attributes, "name");
  
  	if( GetPrevName() == "part" )
--- 881,885 ----
  	CComObjPtr<IMgaMetaRegNode> regnode;
  
! 	const std::string &name = GetByName(attributes, "name");
  
  	if( GetPrevName() == "part" )

Index: MetaParser.h
===================================================================
RCS file: /var/lib/gme/GMESRC/GME/Parser/MetaParser.h,v
retrieving revision 1.5
retrieving revision 1.6
diff -C2 -d -r1.5 -r1.6
*** MetaParser.h	20 Jul 2004 16:01:39 -0000	1.5
--- MetaParser.h	13 Oct 2004 15:17:55 -0000	1.6
***************
*** 46,51 ****
  
  public:
! 	static const string GetNextToken(string::const_iterator &i, 
! 		string::const_iterator &e, string::const_iterator end);
  
  	typedef CGenParserFunc<CMetaParser> elementfunc;
--- 46,51 ----
  
  public:
! 	static const std::string GetNextToken(std::string::const_iterator &i, 
! 		std::string::const_iterator &e, std::string::const_iterator end);
  
  	typedef CGenParserFunc<CMetaParser> elementfunc;

Index: MgaDumper.cpp
===================================================================
RCS file: /var/lib/gme/GMESRC/GME/Parser/MgaDumper.cpp,v
retrieving revision 1.19
retrieving revision 1.20
diff -C2 -d -r1.19 -r1.20
*** MgaDumper.cpp	27 Sep 2004 21:33:01 -0000	1.19
--- MgaDumper.cpp	13 Oct 2004 15:17:55 -0000	1.20
***************
*** 91,95 ****
  		HR_THROW(E_INVALIDARG);
  
! 	string filename;
  	CopyTo(xmlfile, filename);
  
--- 91,95 ----
  		HR_THROW(E_INVALIDARG);
  
! 	std::string filename;
  	CopyTo(xmlfile, filename);
  
***************
*** 279,283 ****
  	ASSERT( !elems.empty() && !elems.back().inbody && !elems.back().indata );
  
! 	ofs << ' ' << name << "=\"" << Transcoder::StdEscape << string( value, len) << Transcoder::NoEscape << '"';
  }
  
--- 279,283 ----
  	ASSERT( !elems.empty() && !elems.back().inbody && !elems.back().indata );
  
! 	ofs << ' ' << name << "=\"" << Transcoder::StdEscape << std::string( value, len) << Transcoder::NoEscape << '"';
  }
  
***************
*** 306,310 ****
  	}
  
! 	ofs << Transcoder::StdEscape << string( value, len) << Transcoder::NoEscape;
  
  	elems.back().indata = true;
--- 306,310 ----
  	}
  
! 	ofs << Transcoder::StdEscape << std::string( value, len) << Transcoder::NoEscape;
  
  	elems.back().indata = true;
***************
*** 354,358 ****
  	if (m_strictDump)
  	{
! 		in_closure = find_if( m_selFolders.begin(), m_selFolders.end(), GmeEqual( folder)) != m_selFolders.end();
  	}
  	else
--- 354,358 ----
  	if (m_strictDump)
  	{
! 		in_closure = std::find_if( m_selFolders.begin(), m_selFolders.end(), GmeEqual( folder)) != m_selFolders.end();
  	}
  	else
***************
*** 361,365 ****
  		while ( curr_folder != NULL && !in_closure)
  		{
! 			in_closure = find_if( m_selFolders.begin(), m_selFolders.end(), GmeEqual( curr_folder)) != m_selFolders.end();
  
  			CComObjPtr<IMgaFolder> parent;
--- 361,365 ----
  		while ( curr_folder != NULL && !in_closure)
  		{
! 			in_closure = std::find_if( m_selFolders.begin(), m_selFolders.end(), GmeEqual( curr_folder)) != m_selFolders.end();
  
  			CComObjPtr<IMgaFolder> parent;
***************
*** 388,392 ****
  	if (m_strictDump)
  	{
! 		in_closure = find_if( m_selFcos.begin(), m_selFcos.end(), GmeEqual( fco)) != m_selFcos.end();
  	}
  	else
--- 388,392 ----
  	if (m_strictDump)
  	{
! 		in_closure = std::find_if( m_selFcos.begin(), m_selFcos.end(), GmeEqual( fco)) != m_selFcos.end();
  	}
  	else
***************
*** 397,401 ****
  		while ( curr_fco != NULL && !in_closure) {
  			
! 			in_closure = find_if( m_selFcos.begin(), m_selFcos.end(), GmeEqual( curr_fco)) != m_selFcos.end();
  
  			CComObjPtr<IMgaModel> parent;
--- 397,401 ----
  		while ( curr_fco != NULL && !in_closure) {
  			
! 			in_closure = std::find_if( m_selFcos.begin(), m_selFcos.end(), GmeEqual( curr_fco)) != m_selFcos.end();
  
  			CComObjPtr<IMgaModel> parent;
***************
*** 415,419 ****
  			while ( par_folder != NULL && !in_closure)
  			{
! 				in_closure = find_if( m_selFolders.begin(), m_selFolders.end(), GmeEqual( par_folder)) != m_selFolders.end();
  
  				CComObjPtr<IMgaFolder> parent;
--- 415,419 ----
  			while ( par_folder != NULL && !in_closure)
  			{
! 				in_closure = std::find_if( m_selFolders.begin(), m_selFolders.end(), GmeEqual( par_folder)) != m_selFolders.end();
  
  				CComObjPtr<IMgaFolder> parent;
***************
*** 499,503 ****
  		CComBSTR path;
  		COMTHROW( folder->get_AbsPath( &path));
! 		string rel_path, abs_path;
  		CopyTo( path, abs_path);
  		rel_path = abs_path;
--- 499,503 ----
  		CComBSTR path;
  		COMTHROW( folder->get_AbsPath( &path));
! 		std::string rel_path, abs_path;
  		CopyTo( path, abs_path);
  		rel_path = abs_path;
***************
*** 511,515 ****
  
  		// "closurepath"
! 		string place2path = abs_path.substr( m_currParAbsPath.length());
  		int pp = place2path.length() - 1; 
  		while( pp >= 0 && place2path[pp] != '/') --pp;
--- 511,515 ----
  
  		// "closurepath"
! 		std::string place2path = abs_path.substr( m_currParAbsPath.length());
  		int pp = place2path.length() - 1; 
  		while( pp >= 0 && place2path[pp] != '/') --pp;
***************
*** 697,701 ****
  			CComBSTR path;
  			COMTHROW( fco->get_AbsPath( &path));
! 			string rel_path, abs_path;
  			CopyTo( path, abs_path);
  			rel_path = abs_path;
--- 697,701 ----
  			CComBSTR path;
  			COMTHROW( fco->get_AbsPath( &path));
! 			std::string rel_path, abs_path;
  			CopyTo( path, abs_path);
  			rel_path = abs_path;
***************
*** 711,715 ****
  			if( m_currParAbsPath.length() > 0)
  			{
! 				string place2path = abs_path.substr( m_currParAbsPath.length());
  				int pp = place2path.length() - 1; 
  				while( pp >= 0 && place2path[pp] != '/') --pp;
--- 711,715 ----
  			if( m_currParAbsPath.length() > 0)
  			{
! 				std::string place2path = abs_path.substr( m_currParAbsPath.length());
  				int pp = place2path.length() - 1; 
  				while( pp >= 0 && place2path[pp] != '/') --pp;
***************
*** 748,752 ****
  					CComBSTR name;
  					COMTHROW( derivedfrom->get_AbsPath( &name));
! 					string nm;
  					CopyTo( name, nm);
  					
--- 748,752 ----
  					CComBSTR name;
  					COMTHROW( derivedfrom->get_AbsPath( &name));
! 					std::string nm;
  					CopyTo( name, nm);
  					
***************
*** 766,774 ****
  
  					COMTHROW( derivedfrom->get_AbsPath( &name));
! 					string nm;
  					CopyTo( name, nm);
  					
  					COMTHROW( fco->get_AbsPath( &name));
! 					string nm2;
  					CopyTo( name, nm2);
  
--- 766,774 ----
  
  					COMTHROW( derivedfrom->get_AbsPath( &name));
! 					std::string nm;
  					CopyTo( name, nm);
  					
  					COMTHROW( fco->get_AbsPath( &name));
! 					std::string nm2;
  					CopyTo( name, nm2);
  
***************
*** 901,905 ****
  	COMTHROW( metaattr->get_ValueType(&attval) );
  
! 	string data;
  
  	switch(attval)
--- 901,905 ----
  	COMTHROW( metaattr->get_ValueType(&attval) );
  
! 	std::string data;
  
  	switch(attval)
***************
*** 1003,1007 ****
  				CComBSTR name;
  				COMTHROW( fco->get_AbsPath( &name));
! 				string nm;
  				CopyTo( name, nm);
  				
--- 1003,1007 ----
  				CComBSTR name;
  				COMTHROW( fco->get_AbsPath( &name));
! 				std::string nm;
  				CopyTo( name, nm);
  				
***************
*** 1014,1022 ****
  				CComBSTR name;
  				COMTHROW( fco->get_AbsPath( &name));
! 				string nm;
  				CopyTo( name, nm);
  
  				COMTHROW( reference->get_AbsPath( &name));
! 				string nm2;
  				CopyTo( name, nm2);
  
--- 1014,1022 ----
  				CComBSTR name;
  				COMTHROW( fco->get_AbsPath( &name));
! 				std::string nm;
  				CopyTo( name, nm);
  
  				COMTHROW( reference->get_AbsPath( &name));
! 				std::string nm2;
  				CopyTo( name, nm2);
  
***************
*** 1149,1153 ****
  			CComBSTR name;
  			COMTHROW( target->get_AbsPath( &name));
! 			string nm;
  			CopyTo( name, nm);
  			
--- 1149,1153 ----
  			CComBSTR name;
  			COMTHROW( target->get_AbsPath( &name));
! 			std::string nm;
  			CopyTo( name, nm);
  			
***************
*** 1158,1162 ****
  			CComBSTR name;
  			COMTHROW( target->get_AbsPath( &name));
! 			string nm;
  			CopyTo( name, nm);
  
--- 1158,1162 ----
  			CComBSTR name;
  			COMTHROW( target->get_AbsPath( &name));
! 			std::string nm;
  			CopyTo( name, nm);
  
***************
*** 1178,1182 ****
  	if( !fcos.empty() )
  	{
! 		string idrefs, clos_idrefs;
  
  		CComObjPtrVector<IMgaFCO>::iterator i = fcos.begin();
--- 1178,1182 ----
  	if( !fcos.empty() )
  	{
! 		std::string idrefs, clos_idrefs;
  
  		CComObjPtrVector<IMgaFCO>::iterator i = fcos.begin();
***************
*** 1188,1192 ****
  				CComBSTR name;
  				COMTHROW( (*i)->get_AbsPath( &name));
! 				string nm;
  				CopyTo( name, nm);
  
--- 1188,1192 ----
  				CComBSTR name;
  				COMTHROW( (*i)->get_AbsPath( &name));
! 				std::string nm;
  				CopyTo( name, nm);
  
***************
*** 1204,1208 ****
  			COMTHROW( (*i)->get_ID(PutOut(bstr)) );
  
! 			string id;
  			CopyTo(bstr, id);
  
--- 1204,1208 ----
  			COMTHROW( (*i)->get_ID(PutOut(bstr)) );
  
! 			std::string id;
  			CopyTo(bstr, id);
  
***************
*** 1220,1224 ****
  		if( m_closureDump && m_v2 && !clos_idrefs.empty()) // closure v2
  		{
! 			string clos_name("closure2"); clos_name += name;
  			Attr( clos_name.c_str(), clos_idrefs);
  		}
--- 1220,1224 ----
  		if( m_closureDump && m_v2 && !clos_idrefs.empty()) // closure v2
  		{
! 			std::string clos_name("closure2"); clos_name += name;
  			Attr( clos_name.c_str(), clos_idrefs);
  		}
***************
*** 1234,1243 ****
  	//while doing the sort operations on the original vector, so we don't have
  	//to call the get_Name function each time we look at a RegNode
! 	vector<string> vPrime;
  	for (int i=0; i<n; i++)
  	{
  		CComBSTR bstr;
  		COMTHROW((*v)[i]->get_Name(&bstr));
! 		string s;
  		CopyTo(bstr,s);
  		vPrime.push_back(s);
--- 1234,1243 ----
  	//while doing the sort operations on the original vector, so we don't have
  	//to call the get_Name function each time we look at a RegNode
! 	std::vector<std::string> vPrime;
  	for (int i=0; i<n; i++)
  	{
  		CComBSTR bstr;
  		COMTHROW((*v)[i]->get_Name(&bstr));
! 		std::string s;
  		CopyTo(bstr,s);
  		vPrime.push_back(s);
***************
*** 1247,1251 ****
  	for (int x=1; x<n; x++) 
  	{
! 		string index = vPrime[x];
  		CComObjPtr<IMgaRegNode> indexRegNode = (*v)[x];
  		int y = x;
--- 1247,1251 ----
  	for (int x=1; x<n; x++) 
  	{
! 		std::string index = vPrime[x];
  		CComObjPtr<IMgaRegNode> indexRegNode = (*v)[x];
  		int y = x;
***************
*** 1274,1278 ****
  	//while doing the sort operations on the original vector, so we don't have
  	//to get the Kind Name every time
! 	vector<string> vPrime;
  	for (int i=0; i<n; i++)
  	{
--- 1274,1278 ----
  	//while doing the sort operations on the original vector, so we don't have
  	//to get the Kind Name every time
! 	std::vector<std::string> vPrime;
  	for (int i=0; i<n; i++)
  	{
***************
*** 1281,1285 ****
  		COMTHROW((*v)[i]->get_Meta(&meta));
  		COMTHROW(meta->get_Name(&bstr));
! 		string s;
  		CopyTo(bstr,s);
  		vPrime.push_back(s);
--- 1281,1285 ----
  		COMTHROW((*v)[i]->get_Meta(&meta));
  		COMTHROW(meta->get_Name(&bstr));
! 		std::string s;
  		CopyTo(bstr,s);
  		vPrime.push_back(s);
***************
*** 1289,1293 ****
  	for (int x=1; x<n; x++) 
  	{
! 		string index = vPrime[x];
  		CComObjPtr<IMgaAttribute> indexAttr = (*v)[x];
  		int y = x;
--- 1289,1293 ----
  	for (int x=1; x<n; x++) 
  	{
! 		std::string index = vPrime[x];
  		CComObjPtr<IMgaAttribute> indexAttr = (*v)[x];
  		int y = x;
***************
*** 1315,1319 ****
  	//while doing the sort operations on the original vector, so we don't have
  	//to get the Target ID every time
! 	vector<string> vPrime;
  	for (int i=0; i<n; i++)
  	{
--- 1315,1319 ----
  	//while doing the sort operations on the original vector, so we don't have
  	//to get the Target ID every time
! 	std::vector<std::string> vPrime;
  	for (int i=0; i<n; i++)
  	{
***************
*** 1322,1326 ****
  		COMTHROW((*v)[i]->get_Target(&fco));
  		COMTHROW(fco->get_ID(&bstr));
! 		string s;
  		CopyTo(bstr,s);
  		vPrime.push_back(s);
--- 1322,1326 ----
  		COMTHROW((*v)[i]->get_Target(&fco));
  		COMTHROW(fco->get_ID(&bstr));
! 		std::string s;
  		CopyTo(bstr,s);
  		vPrime.push_back(s);
***************
*** 1330,1334 ****
  	for (int x=1; x<n; x++) 
  	{
! 		string index = vPrime[x];
  		CComObjPtr<IMgaConnPoint> indexConnPoint = (*v)[x];
  		int y = x;
--- 1330,1334 ----
  	for (int x=1; x<n; x++) 
  	{
! 		std::string index = vPrime[x];
  		CComObjPtr<IMgaConnPoint> indexConnPoint = (*v)[x];
  		int y = x;
***************
*** 1356,1365 ****
  	//while doing the sort operations on the original vector, so we don't have
  	//to call the get_ID function each time we look at a Folder
! 	vector<string> vPrime;
  	for (int i=0; i<n; i++)
  	{
  		CComBSTR bstr;
  		COMTHROW((*v)[i]->get_ID(&bstr));
! 		string s;
  		CopyTo(bstr,s);
  		vPrime.push_back(s);
--- 1356,1365 ----
  	//while doing the sort operations on the original vector, so we don't have
  	//to call the get_ID function each time we look at a Folder
! 	std::vector<std::string> vPrime;
  	for (int i=0; i<n; i++)
  	{
  		CComBSTR bstr;
  		COMTHROW((*v)[i]->get_ID(&bstr));
! 		std::string s;
  		CopyTo(bstr,s);
  		vPrime.push_back(s);
***************
*** 1369,1373 ****
  	for (int x=1; x<n; x++) 
  	{
! 		string index = vPrime[x];
  		CComObjPtr<IMgaFolder> indexFolder = (*v)[x];
  		int y = x;
--- 1369,1373 ----
  	for (int x=1; x<n; x++) 
  	{
! 		std::string index = vPrime[x];
  		CComObjPtr<IMgaFolder> indexFolder = (*v)[x];
  		int y = x;
***************
*** 1396,1405 ****
  	//while doing the sort operations on the original vector, so we don't have
  	//to call the get_ID function each time we look at an FCO
! 	vector<string> vPrime;
  	for (int i=0; i<n; i++)
  	{
  		CComBSTR bstr;
  		COMTHROW((*v)[i]->get_ID(&bstr));
! 		string s;
  		CopyTo(bstr,s);
  		vPrime.push_back(s);
--- 1396,1405 ----
  	//while doing the sort operations on the original vector, so we don't have
  	//to call the get_ID function each time we look at an FCO
! 	std::vector<std::string> vPrime;
  	for (int i=0; i<n; i++)
  	{
  		CComBSTR bstr;
  		COMTHROW((*v)[i]->get_ID(&bstr));
! 		std::string s;
  		CopyTo(bstr,s);
  		vPrime.push_back(s);
***************
*** 1409,1413 ****
  	for (int x=1; x<n; x++) 
  	{
! 		string index = vPrime[x];
  		CComObjPtr<IMgaFCO> indexFCO = (*v)[x];
  		int y = x;
--- 1409,1413 ----
  	for (int x=1; x<n; x++) 
  	{
! 		std::string index = vPrime[x];
  		CComObjPtr<IMgaFCO> indexFCO = (*v)[x];
  		int y = x;
***************
*** 1470,1474 ****
  			if (parent != NULL) {
  				COMTHROW( ::QueryInterface(parent, curr_fco) );
! 				found_parent = find_if( m_selFcos.begin(), m_selFcos.end(), GmeEqual( curr_fco)) != m_selFcos.end();
  			}
  		} while ( curr_fco != NULL && !found_parent);
--- 1470,1474 ----
  			if (parent != NULL) {
  				COMTHROW( ::QueryInterface(parent, curr_fco) );
! 				found_parent = std::find_if( m_selFcos.begin(), m_selFcos.end(), GmeEqual( curr_fco)) != m_selFcos.end();
  			}
  		} while ( curr_fco != NULL && !found_parent);
***************
*** 1481,1485 ****
  			while ( par_folder != NULL && !found_parent)
  			{
! 				found_parent = find_if( m_selFolders.begin(), m_selFolders.end(), GmeEqual( par_folder)) != m_selFolders.end();
  
  				CComObjPtr<IMgaFolder> parent;
--- 1481,1485 ----
  			while ( par_folder != NULL && !found_parent)
  			{
! 				found_parent = std::find_if( m_selFolders.begin(), m_selFolders.end(), GmeEqual( par_folder)) != m_selFolders.end();
  
  				CComObjPtr<IMgaFolder> parent;
***************
*** 1507,1511 ****
  		while ( par_folder != NULL && !found_parent)
  		{
! 			found_parent = find_if( m_selFolders.begin(), m_selFolders.end(), GmeEqual( par_folder)) != m_selFolders.end();
  
  			CComObjPtr<IMgaFolder> parent;
--- 1507,1511 ----
  		while ( par_folder != NULL && !found_parent)
  		{
! 			found_parent = std::find_if( m_selFolders.begin(), m_selFolders.end(), GmeEqual( par_folder)) != m_selFolders.end();
  
  			CComObjPtr<IMgaFolder> parent;
***************
*** 1559,1563 ****
  		{
  			ofs << "<!DOCTYPE clipboard SYSTEM \"mgaclosure.dtd\" [\n";
! 			ofs << "\t<!ELEMENT clipboard (project|folder|model|atom|reference|set|connection)*>\n";//<!> project introd
  			ofs << "\t<!ATTLIST clipboard\n";
  			ofs << "\t\tclosureversion CDATA #IMPLIED\n";
--- 1559,1563 ----
  		{
  			ofs << "<!DOCTYPE clipboard SYSTEM \"mgaclosure.dtd\" [\n";
! 			ofs << "\t<!ELEMENT clipboard (folder|model|atom|reference|set|connection)*>\n";
  			ofs << "\t<!ATTLIST clipboard\n";
  			ofs << "\t\tclosureversion CDATA #IMPLIED\n";
***************
*** 1573,1577 ****
  		else
  		{
! 			ofs << "<!DOCTYPE project SYSTEM \"mgaclosure.dtd\">\n\n";//<!> mga.dtd ?
  
  			Dump( project); 
--- 1573,1577 ----
  		else
  		{
! 			ofs << "<!DOCTYPE project SYSTEM \"mgaclosure.dtd\">\n\n";
  
  			Dump( project); 
***************
*** 1596,1600 ****
  	m_v2				= (dump_options & 0x2) == 0x2; // dump the closure2members, closure2refs like attributes
  
! 	string version_string;
  	if( dump_options & 0x4)
  		version_string = "4";
--- 1596,1600 ----
  	m_v2				= (dump_options & 0x2) == 0x2; // dump the closure2members, closure2refs like attributes
  
! 	std::string version_string;
  	if( dump_options & 0x4)
  		version_string = "4";

Index: MgaDumper.h
===================================================================
RCS file: /var/lib/gme/GMESRC/GME/Parser/MgaDumper.h,v
retrieving revision 1.12
retrieving revision 1.13
diff -C2 -d -r1.12 -r1.13
*** MgaDumper.h	27 Sep 2004 21:33:01 -0000	1.12
--- MgaDumper.h	13 Oct 2004 15:17:55 -0000	1.13
***************
*** 3,7 ****
  #define MGA_MGADUMPER_H
  
! #include <fstream.h>
  #include "resource.h"
  #include "CommonVersionInfo.h"
--- 3,7 ----
  #define MGA_MGADUMPER_H
  
! #include <fstream> //fstream.h
  #include "resource.h"
  #include "CommonVersionInfo.h"
***************
*** 80,84 ****
  	void EndElem();
  
! 	void Attr(const char *name, string &value)
  	{
  		Attr(name, value.data(), value.length());
--- 80,84 ----
  	void EndElem();
  
! 	void Attr(const char *name, std::string &value)
  	{
  		Attr(name, value.data(), value.length());
***************
*** 87,96 ****
  	void Attr(const char *name, const CComBstrObj &value)
  	{
! 		string t;
  		CopyTo(value, t);
  		Attr(name, t);
  	}
  
! 	void Data(string &value)
  	{
  		Data(value.data(), value.length());
--- 87,96 ----
  	void Attr(const char *name, const CComBstrObj &value)
  	{
! 		std::string t;
  		CopyTo(value, t);
  		Attr(name, t);
  	}
  
! 	void Data(std::string &value)
  	{
  		Data(value.data(), value.length());
***************
*** 99,103 ****
  	void Data(const CComBstrObj &value)
  	{
! 		string t;
  		CopyTo(value, t);
  		Data(t);
--- 99,103 ----
  	void Data(const CComBstrObj &value)
  	{
! 		std::string t;
  		CopyTo(value, t);
  		Data(t);
***************
*** 212,221 ****
  	struct elem
  	{
! 		string name;
  		bool inbody;
  		bool indata;
  	};
  
! 	vector<elem> elems;
  
  	long fco_count;
--- 212,221 ----
  	struct elem
  	{
! 		std::string name;
  		bool inbody;
  		bool indata;
  	};
  
! 	std::vector<elem> elems;
  
  	long fco_count;
***************
*** 244,250 ****
  	void putInTerritory( CComObjPtrVector<IMgaFolder>&);
  
! 	string m_curTopPath; // used for the 'closurename' calc
! 	string m_currAbsPath;
! 	string m_currParAbsPath; // used for 'closurepath' calc
  	bool m_v2;
  
--- 244,250 ----
  	void putInTerritory( CComObjPtrVector<IMgaFolder>&);
  
! 	std::string m_curTopPath; // used for the 'closurename' calc
! 	std::string m_currAbsPath;
! 	std::string m_currParAbsPath; // used for 'closurepath' calc
  	bool m_v2;
  

Index: MgaParser.cpp
===================================================================
RCS file: /var/lib/gme/GMESRC/GME/Parser/MgaParser.cpp,v
retrieving revision 1.26
retrieving revision 1.27
diff -C2 -d -r1.26 -r1.27
*** MgaParser.cpp	29 Sep 2004 21:01:58 -0000	1.26
--- MgaParser.cpp	13 Oct 2004 15:17:55 -0000	1.27
***************
*** 8,12 ****
  
  #include "../Common/CommonCollection.h"
! #include <slist>
  
  // --------------------------- CMgaParser
--- 8,12 ----
  
  #include "../Common/CommonCollection.h"
! #include <list>//slist
  
  // --------------------------- CMgaParser
***************
*** 458,462 ****
  // ------- Lookup
  
! void CMgaParser::LookupByID(const string &id, CComObjPtr<IMgaObject> &ret)
  {
  	ASSERT( project != NULL );
--- 458,462 ----
  // ------- Lookup
  
! void CMgaParser::LookupByID(const std::string &id, CComObjPtr<IMgaObject> &ret)
  {
  	ASSERT( project != NULL );
***************
*** 472,476 ****
  }
  
! void CMgaParser::LookupByID(const string &id, CComObjPtr<IMgaFCO> &ret)
  {
  	ASSERT( project != NULL );
--- 472,476 ----
  }
  
! void CMgaParser::LookupByID(const std::string &id, CComObjPtr<IMgaFCO> &ret)
  {
  	ASSERT( project != NULL );
***************
*** 486,490 ****
  }
  
! void CMgaParser::RegisterLookup(const string &id, IMgaObject *object)
  {
  	ASSERT( object != NULL );
--- 486,490 ----
  }
  
! void CMgaParser::RegisterLookup(const std::string &id, IMgaObject *object)
  {
  	ASSERT( object != NULL );
***************
*** 713,717 ****
  
  void CMgaParser::preparerelid(const attributes_type &attributes) {
! 	const string & relidattr = GetByName(attributes, "relid");
  	ASSERT(relid == -2);
  	if(relidattr.size()) {
--- 713,717 ----
  
  void CMgaParser::preparerelid(const attributes_type &attributes) {
! 	const std::string & relidattr = GetByName(attributes, "relid");
  	ASSERT(relid == -2);
  	if(relidattr.size()) {
***************
*** 756,760 ****
  		CComObjPtr<IMgaMetaFolder> meta;
  		CComBSTR fname( PutInBstrAttr(attributes, "kind"));
! 		const string &libn = GetByName(attributes,"libref");
  
  		preparerelid(attributes);
--- 756,760 ----
  		CComObjPtr<IMgaMetaFolder> meta;
  		CComBSTR fname( PutInBstrAttr(attributes, "kind"));
! 		const std::string &libn = GetByName(attributes,"libref");
  
  		preparerelid(attributes);
***************
*** 808,812 ****
  void CMgaParser::ResolveDerivation(const attributes_type &attributes, deriv_type &deriv)
  {
! 	const string *s = GetByNameX(attributes, "derivedfrom");
  	if( s == NULL )
  	{
--- 808,812 ----
  void CMgaParser::ResolveDerivation(const attributes_type &attributes, deriv_type &deriv)
  {
! 	const std::string *s = GetByNameX(attributes, "derivedfrom");
  	if( s == NULL )
  	{
***************
*** 1141,1150 ****
  	COMTHROW(coll.CoCreateInstance(L"Mga.MgaFCOs"));
  
! 	const string *s = GetByNameX(attributes, "refs");
  	if( s != NULL )
  	{
  		int pos = s->find_first_not_of(' ', 0);
  		ASSERT( pos >= 0 );
! 		while( pos < s->length() )
  		{
  			int pos2 = s->find_first_of(' ', pos);
--- 1141,1150 ----
  	COMTHROW(coll.CoCreateInstance(L"Mga.MgaFCOs"));
  
! 	const std::string *s = GetByNameX(attributes, "refs");
  	if( s != NULL )
  	{
  		int pos = s->find_first_not_of(' ', 0);
  		ASSERT( pos >= 0 );
! 		while( pos < (int) s->length() )//zolmol!
  		{
  			int pos2 = s->find_first_of(' ', pos);
***************
*** 1154,1158 ****
  
  			CComObjPtr<IMgaFCO> ref;
! 			LookupByID(string(*s, pos, pos2-pos), ref);
  
  			if( ref == NULL )
--- 1154,1158 ----
  
  			CComObjPtr<IMgaFCO> ref;
! 			LookupByID(std::string(*s, pos, pos2-pos), ref);
  
  			if( ref == NULL )
***************
*** 1203,1207 ****
  	CComObjPtr<IMgaFCO> referred;
  
! 	const string *s = GetByNameX(attributes, "referred");
  	if( s != NULL )
  	{
--- 1203,1207 ----
  	CComObjPtr<IMgaFCO> referred;
  
! 	const std::string *s = GetByNameX(attributes, "referred");
  	if( s != NULL )
  	{
***************
*** 1291,1302 ****
  	(*this.*m_resolveDerFuncPtr)(attributes, deriv);
  
! 	slist< CComObjPtr<IMgaFCO> > members;
  
! 	const string *s = GetByNameX(attributes, "members");
  	if( s != NULL )
  	{
  		int pos = s->find_first_not_of(' ', 0);
  		ASSERT( pos >= 0 );
! 		while( pos < s->length() )
  		{
  			int pos2 = s->find_first_of(' ', pos);
--- 1291,1302 ----
  	(*this.*m_resolveDerFuncPtr)(attributes, deriv);
  
! 	std::list< CComObjPtr<IMgaFCO> > members;//slist
  
! 	const std::string *s = GetByNameX(attributes, "members");
  	if( s != NULL )
  	{
  		int pos = s->find_first_not_of(' ', 0);
  		ASSERT( pos >= 0 );
! 		while( pos < (int) s->length() )//zolmol!
  		{
  			int pos2 = s->find_first_of(' ', pos);
***************
*** 1306,1310 ****
  
  			CComObjPtr<IMgaFCO> member;
! 			LookupByID(string(*s, pos, pos2-pos), member);
  
  			if( member == NULL )
--- 1306,1310 ----
  
  			CComObjPtr<IMgaFCO> member;
! 			LookupByID(std::string(*s, pos, pos2-pos), member);
  
  			if( member == NULL )
***************
*** 1382,1386 ****
  	if( !(GetByName(attributes, "isbound") == "yes") ) {
  		COMTHROW( mgaset->RemoveAll() ); //by ZolMol: if not bound then the members are different, remove the inherited members
! 		slist< CComObjPtr<IMgaFCO> >::iterator i = members.begin();
  		while( i != members.end() )
  		{
--- 1382,1386 ----
  	if( !(GetByName(attributes, "isbound") == "yes") ) {
  		COMTHROW( mgaset->RemoveAll() ); //by ZolMol: if not bound then the members are different, remove the inherited members
! 		std::list< CComObjPtr<IMgaFCO> >::iterator i = members.begin();//slist
  		while( i != members.end() )
  		{

Index: MgaParser.h
===================================================================
RCS file: /var/lib/gme/GMESRC/GME/Parser/MgaParser.h,v
retrieving revision 1.11
retrieving revision 1.12
diff -C2 -d -r1.11 -r1.12
*** MgaParser.h	29 Sep 2004 21:01:58 -0000	1.11
--- MgaParser.h	13 Oct 2004 15:17:55 -0000	1.12
***************
*** 17,21 ****
  {
   public:
! 	 bool operator()( const CComObjPtr<IMgaFCO>& p1, const CComObjPtr<IMgaFCO>& p2)
  	 {
  		 return p1.p < p2.p;
--- 17,21 ----
  {
   public:
! 	 bool operator()( const CComObjPtr<IMgaFCO>& p1, const CComObjPtr<IMgaFCO>& p2) const
  	 {
  		 return p1.p < p2.p;
***************
*** 59,63 ****
  	STDMETHOD(ParseProject)(IMgaProject *p, BSTR filename);
  
! 	string GetClipXMLInfo2();
  
  	void CloseAll();
--- 59,63 ----
  	STDMETHOD(ParseProject)(IMgaProject *p, BSTR filename);
  
! 	std::string GetClipXMLInfo2();
  
  	void CloseAll();
***************
*** 77,81 ****
  	};
  
! 	list<range_type> ranges;
  
  	int skip_element_level;
--- 77,81 ----
  	};
  
! 	std::list<range_type> ranges;
  
  	int skip_element_level;
***************
*** 85,93 ****
  
  	typedef struct librecord {
! 		string libname;
  		CComPtr<IMgaFolder> f;
  	} librecord;
  
! 	typedef vector<librecord> librecords;
  	librecords libstodo;
  	CComVariant projectguid;
--- 85,93 ----
  
  	typedef struct librecord {
! 		std::string libname;
  		CComPtr<IMgaFolder> f;
  	} librecord;
  
! 	typedef std::vector<librecord> librecords;
  	librecords libstodo;
  	CComVariant projectguid;
***************
*** 125,130 ****
  	long project_prefs, project_prefs_orig;
  
! 	string constraint_name;
! 	string constraint_value;
  
  	counter_type max_counter;
--- 125,130 ----
  	long project_prefs, project_prefs_orig;
  
! 	std::string constraint_name;
! 	std::string constraint_value;
  
  	counter_type max_counter;
***************
*** 134,143 ****
  
  public:
! 	void LookupByID(const string &id, CComObjPtr<IMgaObject> &object);
! 	void LookupByID(const string &id, CComObjPtr<IMgaFCO> &fco);
! 	void RegisterLookup(const string &id, IMgaObject *object);
  	void RegisterLookup(const attributes_type &attributes, IMgaObject *object);
  
! 	typedef hash_map<string, CComBstrObj> id_lookup_type;
  	typedef id_lookup_type::iterator id_lookup_iterator;
  
--- 134,143 ----
  
  public:
! 	void LookupByID(const std::string &id, CComObjPtr<IMgaObject> &object);
! 	void LookupByID(const std::string &id, CComObjPtr<IMgaFCO> &fco);
! 	void RegisterLookup(const std::string &id, IMgaObject *object);
  	void RegisterLookup(const attributes_type &attributes, IMgaObject *object);
  
! 	typedef std::hash_map<std::string, CComBstrObj> id_lookup_type;
  	typedef id_lookup_type::iterator id_lookup_iterator;
  
***************
*** 164,183 ****
  	bool findPlaceForElem( const attributes_type &attributes, deriv_type& deriv, CComObjPtr<IMgaFolder>& place_fld, CComObjPtr<IMgaModel>& place_mdl);
  
! 	void findObjOnRelPath( CComObjPtr<IMgaObject> obj_rel_to, const string& relpath , CComObjPtr<IMgaObject>& obj, const string& text = "");
! 	void findObjOnAbsPath( CComObjPtr<IMgaProject> project, const string& abspath , CComObjPtr<IMgaObject>& obj, const string& text = "");
  	void pushInfo( const CComObjPtr<IMgaFolder>& place_fld, const CComObjPtr<IMgaModel>& place_mdl, const CComObjPtr<IMgaFCO>& fco1, const CComObjPtr<IMgaFCO>& fco2/* = CComObjPtr<IMgaFCO>()*/);
  	void popInfo();
  	void writeInfo( const CComObjPtr<IMgaObject>& place, const CComObjPtr<IMgaObject>& fco1, const CComObjPtr<IMgaObject>& fco2, bool normal_msg = true);
! 	vector< CComObjPtr<IMgaObject> > m_parsed1;
! 	vector< CComObjPtr<IMgaObject> > m_parsed2;
! 	vector< CComObjPtr<IMgaObject> > m_parsed3; // the archetype
  
  	bool isNeedFor2ndStep();
  	void tryToFindMissedReferreds();
  	void tryToFindMissedSetMembers();
! 	map< CComObjPtr<IMgaFCO>, string, CompareCComObj > m_notFoundReferredObject;
! 	map< CComObjPtr<IMgaFCO>, vector< string >, CompareCComObj > m_notFoundSetMembers;
  	int  m_clVer;
! 	string m_clVerStr;
  
  	bool manual_relid_mode;
--- 164,183 ----
  	bool findPlaceForElem( const attributes_type &attributes, deriv_type& deriv, CComObjPtr<IMgaFolder>& place_fld, CComObjPtr<IMgaModel>& place_mdl);
  
! 	void findObjOnRelPath( CComObjPtr<IMgaObject> obj_rel_to, const std::string& relpath , CComObjPtr<IMgaObject>& obj, const std::string& text = "");
! 	void findObjOnAbsPath( CComObjPtr<IMgaProject> project, const std::string& abspath , CComObjPtr<IMgaObject>& obj, const std::string& text = "");
  	void pushInfo( const CComObjPtr<IMgaFolder>& place_fld, const CComObjPtr<IMgaModel>& place_mdl, const CComObjPtr<IMgaFCO>& fco1, const CComObjPtr<IMgaFCO>& fco2/* = CComObjPtr<IMgaFCO>()*/);
  	void popInfo();
  	void writeInfo( const CComObjPtr<IMgaObject>& place, const CComObjPtr<IMgaObject>& fco1, const CComObjPtr<IMgaObject>& fco2, bool normal_msg = true);
! 	std::vector< CComObjPtr<IMgaObject> > m_parsed1;
! 	std::vector< CComObjPtr<IMgaObject> > m_parsed2;
! 	std::vector< CComObjPtr<IMgaObject> > m_parsed3; // the archetype
  
  	bool isNeedFor2ndStep();
  	void tryToFindMissedReferreds();
  	void tryToFindMissedSetMembers();
! 	std::map< CComObjPtr<IMgaFCO>, std::string, CompareCComObj > m_notFoundReferredObject;
! 	std::map< CComObjPtr<IMgaFCO>, std::vector< std::string >, CompareCComObj > m_notFoundSetMembers;
  	int  m_clVer;
! 	std::string m_clVerStr;
  
  	bool manual_relid_mode;

Index: MgaParserBC.cpp
===================================================================
RCS file: /var/lib/gme/GMESRC/GME/Parser/MgaParserBC.cpp,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** MgaParserBC.cpp	29 Sep 2004 21:01:58 -0000	1.3
--- MgaParserBC.cpp	13 Oct 2004 15:17:55 -0000	1.4
***************
*** 8,12 ****
  #include "../Common/CommonCollection.h"
  #include "../Common/CommonMgaTrukk.h"
! #include <slist>
  #include "helper.h"
  
--- 8,12 ----
  #include "../Common/CommonCollection.h"
  #include "../Common/CommonMgaTrukk.h"
! #include <list>//slist
  #include "helper.h"
  
***************
*** 192,201 ****
  		HR_THROW(E_INVALID_FILENAME);
  
! 	const string *ver = GetByNameX(attributes, "closureversion");
  
  	ASSERT( ver);
  	ASSERT( ver->compare(m_clVerStr) == 0);
  
! 	const string *acceptingkinds = GetByNameX(attributes, "acceptingkind");
  	if( acceptingkinds != NULL)
  	{
--- 192,201 ----
  		HR_THROW(E_INVALID_FILENAME);
  
! 	const std::string *ver = GetByNameX(attributes, "closureversion");
  
  	ASSERT( ver);
  	ASSERT( ver->compare(m_clVerStr) == 0);
  
! 	const std::string *acceptingkinds = GetByNameX(attributes, "acceptingkind");
  	if( acceptingkinds != NULL)
  	{
***************
*** 215,219 ****
  			
  		// check if the accepting kind exists among the accepting kinds
! 		string kind_nm;
  		CopyTo( kind_name, kind_nm);
  
--- 215,219 ----
  			
  		// check if the accepting kind exists among the accepting kinds
! 		std::string kind_nm;
  		CopyTo( kind_name, kind_nm);
  
***************
*** 240,244 ****
  void CMgaParser::ResolveClosure1Derivation(const attributes_type &attributes, deriv_type &deriv)
  {
! 	const string *s = GetByNameX(attributes, "derivedfrom");
  	if( s == NULL )
  	{
--- 240,244 ----
  void CMgaParser::ResolveClosure1Derivation(const attributes_type &attributes, deriv_type &deriv)
  {
! 	const std::string *s = GetByNameX(attributes, "derivedfrom");
  	if( s == NULL )
  	{
***************
*** 310,314 ****
  
  	// prefer the closurelibtarget over the target:
! 	const string *libtg = GetByNameX(attributes, "closurelibtarget");
  	if ( libtg != NULL)
  	{
--- 310,314 ----
  
  	// prefer the closurelibtarget over the target:
! 	const std::string *libtg = GetByNameX(attributes, "closurelibtarget");
  	if ( libtg != NULL)
  	{
***************
*** 341,345 ****
  	}
  
! 	const string *tg = GetByNameX(attributes, "target");
  	if( tg != NULL && libtg == NULL) // valid info in target iff no closurelibtarget token
  	{
--- 341,345 ----
  	}
  
! 	const std::string *tg = GetByNameX(attributes, "target");
  	if( tg != NULL && libtg == NULL) // valid info in target iff no closurelibtarget token
  	{
***************
*** 354,363 ****
  	COMTHROW(coll.CoCreateInstance(L"Mga.MgaFCOs"));
  
! 	const string *s = GetByNameX(attributes, "refs");
  	if( s != NULL )
  	{
  		int pos = s->find_first_not_of(' ', 0);
  		ASSERT( pos >= 0 );
! 		while( pos < s->length() )
  		{
  			int pos2 = s->find_first_of(' ', pos);
--- 354,363 ----
  	COMTHROW(coll.CoCreateInstance(L"Mga.MgaFCOs"));
  
! 	const std::string *s = GetByNameX(attributes, "refs");
  	if( s != NULL )
  	{
  		int pos = s->find_first_not_of(' ', 0);
  		ASSERT( pos >= 0 );
! 		while( pos < (int) s->length() )//zolmol!
  		{
  			int pos2 = s->find_first_of(' ', pos);
***************
*** 367,371 ****
  
  			CComObjPtr<IMgaFCO> ref;
! 			LookupByID(string(*s, pos, pos2-pos), ref);
  
  			if( ref == NULL )
--- 367,371 ----
  
  			CComObjPtr<IMgaFCO> ref;
! 			LookupByID(std::string(*s, pos, pos2-pos), ref);
  
  			if( ref == NULL )
***************
*** 393,397 ****
  	CComObjPtr<IMgaFCO> referred;
  
! 	const string *s = GetByNameX(attributes, "referred");
  	if( s != NULL )
  	{
--- 393,397 ----
  	CComObjPtr<IMgaFCO> referred;
  
! 	const std::string *s = GetByNameX(attributes, "referred");
  	if( s != NULL )
  	{
***************
*** 513,524 ****
  	(*this.*m_resolveDerFuncPtr)(attributes, deriv);
  
! 	slist< CComObjPtr<IMgaFCO> > members;
  
! 	const string *s = GetByNameX(attributes, "members");
  	if( s != NULL )
  	{
  		int pos = s->find_first_not_of(' ', 0);
  		ASSERT( pos >= 0 );
! 		while( pos < s->length() )
  		{
  			int pos2 = s->find_first_of(' ', pos);
--- 513,524 ----
  	(*this.*m_resolveDerFuncPtr)(attributes, deriv);
  
! 	std::list< CComObjPtr<IMgaFCO> > members;//slist
  
! 	const std::string *s = GetByNameX(attributes, "members");
  	if( s != NULL )
  	{
  		int pos = s->find_first_not_of(' ', 0);
  		ASSERT( pos >= 0 );
! 		while( pos < (int) s->length() )//zolmol!
  		{
  			int pos2 = s->find_first_of(' ', pos);
***************
*** 528,532 ****
  
  			CComObjPtr<IMgaFCO> member;
! 			LookupByID(string(*s, pos, pos2-pos), member);
  
  			if( member == NULL )
--- 528,532 ----
  
  			CComObjPtr<IMgaFCO> member;
! 			LookupByID(std::string(*s, pos, pos2-pos), member);
  
  			if( member == NULL )
***************
*** 604,608 ****
  	if( !(GetByName(attributes, "isbound") == "yes") ) {
  		COMTHROW( mgaset->RemoveAll() ); //by ZolMol: if not bound then the members are different, remove the inherited members
! 		slist< CComObjPtr<IMgaFCO> >::iterator i = members.begin();
  		while( i != members.end() )
  		{
--- 604,608 ----
  	if( !(GetByName(attributes, "isbound") == "yes") ) {
  		COMTHROW( mgaset->RemoveAll() ); //by ZolMol: if not bound then the members are different, remove the inherited members
! 		std::list< CComObjPtr<IMgaFCO> >::iterator i = members.begin();//slist
  		while( i != members.end() )
  		{

Index: MgaParserClosureHelper.cpp
===================================================================
RCS file: /var/lib/gme/GMESRC/GME/Parser/MgaParserClosureHelper.cpp,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** MgaParserClosureHelper.cpp	29 Sep 2004 21:44:55 -0000	1.2
--- MgaParserClosureHelper.cpp	13 Oct 2004 15:17:55 -0000	1.3
***************
*** 8,15 ****
  #include "../Common/CommonCollection.h"
  #include "../Common/CommonMgaTrukk.h"
! #include <slist>
  #include "helper.h"
  
! void CMgaParser::findObjOnAbsPath( CComObjPtr<IMgaProject> p_project, const string& p_absPath , CComObjPtr<IMgaObject>& p_obj, const string& text)
  {
  	COMTHROW( p_project->get_ObjectByPath( PutInBstr( p_absPath), PutOut( p_obj)) );
--- 8,15 ----
  #include "../Common/CommonCollection.h"
  #include "../Common/CommonMgaTrukk.h"
! //#include <list>//slist
  #include "helper.h"
  
! void CMgaParser::findObjOnAbsPath( CComObjPtr<IMgaProject> p_project, const std::string& p_absPath , CComObjPtr<IMgaObject>& p_obj, const std::string& text)
  {
  	COMTHROW( p_project->get_ObjectByPath( PutInBstr( p_absPath), PutOut( p_obj)) );
***************
*** 51,55 ****
  }
  
! void CMgaParser::findObjOnRelPath( CComObjPtr<IMgaObject> obj_rel_to, const string& relpath , CComObjPtr<IMgaObject>& obj, const string& text)
  {
  	ASSERT( !relpath.empty());
--- 51,55 ----
  }
  
! void CMgaParser::findObjOnRelPath( CComObjPtr<IMgaObject> obj_rel_to, const std::string& relpath , CComObjPtr<IMgaObject>& obj, const std::string& text)
  {
  	ASSERT( !relpath.empty());
***************
*** 64,68 ****
  	bool isfco = (cur_fco != NULL);
  
! 	string m = relpath;
  	
  	while( m.substr(0,4) == "/@..")
--- 64,68 ----
  	bool isfco = (cur_fco != NULL);
  
! 	std::string m = relpath;
  	
  	while( m.substr(0,4) == "/@..")
***************
*** 147,151 ****
  							)
  {
! 	const string *nm = GetByNameX(attributes, "closurepath");
  	if( nm != NULL)
  	{
--- 147,151 ----
  							)
  {
! 	const std::string *nm = GetByNameX(attributes, "closurepath");
  	if( nm != NULL)
  	{

Index: MgaParserSC.cpp
===================================================================
RCS file: /var/lib/gme/GMESRC/GME/Parser/MgaParserSC.cpp,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** MgaParserSC.cpp	29 Sep 2004 21:01:58 -0000	1.2
--- MgaParserSC.cpp	13 Oct 2004 15:17:55 -0000	1.3
***************
*** 8,12 ****
  #include "../Common/CommonCollection.h"
  #include "../Common/CommonMgaTrukk.h"
! #include <slist>
  #include "helper.h"
  
--- 8,12 ----
  #include "../Common/CommonCollection.h"
  #include "../Common/CommonMgaTrukk.h"
! #include <list>//slist
  #include "helper.h"
  
***************
*** 172,176 ****
  void CMgaParser::ResolveClosure4Derivation(const attributes_type &attributes, deriv_type &deriv)
  {
! 	const string *s = GetByNameX(attributes, "derivedfrom");
  	if( s == NULL )
  	{
--- 172,176 ----
  void CMgaParser::ResolveClosure4Derivation(const attributes_type &attributes, deriv_type &deriv)
  {
! 	const std::string *s = GetByNameX(attributes, "derivedfrom");
  	if( s == NULL )
  	{
***************
*** 202,206 ****
  				bool place_found = findPlaceForElem( attributes, deriv, place_f, place_m);
  				
! 				string rel_path_changed = *s;
  				// since the derfrom is calculated relatively to the fco, 
  				// we have to modify the path so that it could be found
--- 202,206 ----
  				bool place_found = findPlaceForElem( attributes, deriv, place_f, place_m);
  				
! 				std::string rel_path_changed = *s;
  				// since the derfrom is calculated relatively to the fco, 
  				// we have to modify the path so that it could be found
***************
*** 355,359 ****
  	CComBstrObj ccname; // does not have "closurename" attribute, that is why we use the connection's name property
  	COMTHROW( conn->get_Name( PutOut( ccname)));
! 	string viewable_name; 
  	CopyTo( ccname, viewable_name);
  
--- 355,359 ----
  	CComBstrObj ccname; // does not have "closurename" attribute, that is why we use the connection's name property
  	COMTHROW( conn->get_Name( PutOut( ccname)));
! 	std::string viewable_name; 
  	CopyTo( ccname, viewable_name);
  
***************
*** 362,366 ****
  	CComObjPtr<IMgaFCO> target;
  
! 	const string *closlibtg = GetByNameX(attributes, "closurelibtarget");
  	if ( closlibtg != NULL)
  	{
--- 362,366 ----
  	CComObjPtr<IMgaFCO> target;
  
! 	const std::string *closlibtg = GetByNameX(attributes, "closurelibtarget");
  	if ( closlibtg != NULL)
  	{
***************
*** 382,386 ****
  	if( closlibtg == NULL || !target)
  	{
! 		const string *clos2tg = GetByNameX(attributes, "closure2target");
  		if( clos2tg != NULL)
  		{
--- 382,386 ----
  	if( closlibtg == NULL || !target)
  	{
! 		const std::string *clos2tg = GetByNameX(attributes, "closure2target");
  		if( clos2tg != NULL)
  		{
***************
*** 408,417 ****
  	COMTHROW(coll.CoCreateInstance(L"Mga.MgaFCOs"));
  
! 	const string *s = GetByNameX(attributes, "closure2refs");
  	if( s != NULL )
  	{
  		int pos = s->find_first_not_of(' ', 0);
  		ASSERT( pos >= 0 );
! 		while( pos < s->length() )
  		{
  			int pos2 = s->find_first_of(' ', pos);
--- 408,417 ----
  	COMTHROW(coll.CoCreateInstance(L"Mga.MgaFCOs"));
  
! 	const std::string *s = GetByNameX(attributes, "closure2refs");
  	if( s != NULL )
  	{
  		int pos = s->find_first_not_of(' ', 0);
  		ASSERT( pos >= 0 );
! 		while( pos < (int) s->length() )//zolmol!
  		{
  			int pos2 = s->find_first_of(' ', pos);
***************
*** 421,427 ****
  
  			CComObjPtr<IMgaFCO> ref;
! 			//LookupByID(string(*s, pos, pos2-pos), ref);
  			CComObjPtr<IMgaObject> obj;
! 			string ref_str(*s, pos, pos2-pos);
  			findObjOnRelPath( CComObjPtr<IMgaObject>(conn), ref_str, obj, "reference chain");
  			if ( obj)
--- 421,427 ----
  
  			CComObjPtr<IMgaFCO> ref;
! 			//LookupByID(std::string(*s, pos, pos2-pos), ref);
  			CComObjPtr<IMgaObject> obj;
! 			std::string ref_str(*s, pos, pos2-pos);
  			findObjOnRelPath( CComObjPtr<IMgaObject>(conn), ref_str, obj, "reference chain");
  			if ( obj)
***************
*** 466,470 ****
  	CComObjPtr<IMgaFCO> referred;
  
! 	const string *s;
  
  	if( !(place_found = findPlaceForElem( attributes, deriv, place_f, place_m)))
--- 466,470 ----
  	CComObjPtr<IMgaFCO> referred;
  
! 	const std::string *s;
  
  	if( !(place_found = findPlaceForElem( attributes, deriv, place_f, place_m)))
***************
*** 661,672 ****
  	}
  	ASSERT( fco != NULL );
! 	slist< CComObjPtr<IMgaFCO> > members;
  
! 	const string *s = GetByNameX(attributes, "closure2members");
  	if( s != NULL)
  	{
  		int pos = s->find_first_not_of(' ', 0);
  		ASSERT( pos >= 0 );
! 		while( pos < s->length() )
  		{
  			int pos2 = s->find_first_of(' ', pos);
--- 661,672 ----
  	}
  	ASSERT( fco != NULL );
! 	std::list< CComObjPtr<IMgaFCO> > members;//slist
  
! 	const std::string *s = GetByNameX(attributes, "closure2members");
  	if( s != NULL)
  	{
  		int pos = s->find_first_not_of(' ', 0);
  		ASSERT( pos >= 0 );
! 		while( pos < (int) s->length() )//zolmol!
  		{
  			int pos2 = s->find_first_of(' ', pos);
***************
*** 675,679 ****
  			ASSERT( pos2 > pos );
  
! 			string member_str(*s, pos, pos2-pos);
  			CComObjPtr<IMgaObject> obj;
  			findObjOnRelPath( CComObjPtr<IMgaObject>(fco), member_str, obj, "set member");
--- 675,679 ----
  			ASSERT( pos2 > pos );
  
! 			std::string member_str(*s, pos, pos2-pos);
  			CComObjPtr<IMgaObject> obj;
  			findObjOnRelPath( CComObjPtr<IMgaObject>(fco), member_str, obj, "set member");
***************
*** 707,711 ****
  	if( !(GetByName(attributes, "isbound") == "yes") ) {
  		COMTHROW( mgaset->RemoveAll() ); //by ZolMol: if not bound then the members are different, remove the inherited members
! 		slist< CComObjPtr<IMgaFCO> >::iterator i = members.begin();
  		while( i != members.end() )
  		{
--- 707,711 ----
  	if( !(GetByName(attributes, "isbound") == "yes") ) {
  		COMTHROW( mgaset->RemoveAll() ); //by ZolMol: if not bound then the members are different, remove the inherited members
! 		std::list< CComObjPtr<IMgaFCO> >::iterator i = members.begin();//slist
  		while( i != members.end() )
  		{
***************
*** 773,778 ****
  void CMgaParser::tryToFindMissedReferreds()
  {
! 	map< CComObjPtr<IMgaFCO>, string >::iterator it = m_notFoundReferredObject.begin();
! 	map< CComObjPtr<IMgaFCO>, string >::iterator itend = m_notFoundReferredObject.end();
  	for( ; it != itend; ++it)
  	{
--- 773,778 ----
  void CMgaParser::tryToFindMissedReferreds()
  {
! 	std::map< CComObjPtr<IMgaFCO>, std::string >::iterator it = m_notFoundReferredObject.begin();
! 	std::map< CComObjPtr<IMgaFCO>, std::string >::iterator itend = m_notFoundReferredObject.end();
  	for( ; it != itend; ++it)
  	{
***************
*** 846,851 ****
  void CMgaParser::tryToFindMissedSetMembers()
  {
! 	map< CComObjPtr<IMgaFCO>, vector< string >, CompareCComObj >::iterator it = m_notFoundSetMembers.begin();
! 	map< CComObjPtr<IMgaFCO>, vector< string >, CompareCComObj >::iterator itend = m_notFoundSetMembers.end();
  	for( ; it != itend; ++it)
  	{
--- 846,851 ----
  void CMgaParser::tryToFindMissedSetMembers()
  {
! 	std::map< CComObjPtr<IMgaFCO>, std::vector< std::string >, CompareCComObj >::iterator it = m_notFoundSetMembers.begin();
! 	std::map< CComObjPtr<IMgaFCO>, std::vector< std::string >, CompareCComObj >::iterator itend = m_notFoundSetMembers.end();
  	for( ; it != itend; ++it)
  	{
***************
*** 857,862 ****
  		if( !set) continue;
  
! 		vector< string >::iterator member_it = it->second.begin();
! 		vector< string >::iterator member_it_end = it->second.end();
  		for( ; member_it != member_it_end; ++member_it)
  		{
--- 857,862 ----
  		if( !set) continue;
  
! 		std::vector< std::string >::iterator member_it = it->second.begin();
! 		std::vector< std::string >::iterator member_it_end = it->second.end();
  		for( ; member_it != member_it_end; ++member_it)
  		{

Index: MgaXslt.cpp
===================================================================
RCS file: /var/lib/gme/GMESRC/GME/Parser/MgaXslt.cpp,v
retrieving revision 1.5
retrieving revision 1.6
diff -C2 -d -r1.5 -r1.6
*** MgaXslt.cpp	18 May 2004 13:30:59 -0000	1.5
--- MgaXslt.cpp	13 Oct 2004 15:17:55 -0000	1.6
***************
*** 16,23 ****
  	XALAN_USING_XALAN(XalanCompiledStylesheet)
  
! 	string style_sheet( 1 + GetCharLength( p_stylesheet_f_name), ' ');
! 	string in_file( 1 + GetCharLength( p_in_f_name), ' ');
! 	string out_file( 1 + GetCharLength( p_out_f_name), ' ');
! 	string error;
  
  	CopyTo( p_stylesheet_f_name, style_sheet);
--- 16,23 ----
  	XALAN_USING_XALAN(XalanCompiledStylesheet)
  
! 	std::string style_sheet( 1 + GetCharLength( p_stylesheet_f_name), ' ');
! 	std::string in_file( 1 + GetCharLength( p_in_f_name), ' ');
! 	std::string out_file( 1 + GetCharLength( p_out_f_name), ' ');
! 	std::string error;
  
  	CopyTo( p_stylesheet_f_name, style_sheet);

Index: Parser.dsp
===================================================================
RCS file: /var/lib/gme/GMESRC/GME/Parser/Parser.dsp,v
retrieving revision 1.14
retrieving revision 1.15
diff -C2 -d -r1.14 -r1.15
*** Parser.dsp	27 Sep 2004 21:33:01 -0000	1.14
--- Parser.dsp	13 Oct 2004 15:17:55 -0000	1.15
***************
*** 44,48 ****
  # PROP Target_Dir ""
  # ADD BASE CPP /nologo /MTd /W3 /Gm /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /Yu"stdafx.h" /FD /GZ /c
! # ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "../Common" /I "../Include/STL" /I "../Include" /I "../Interfaces" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /FR /Yu"stdafx.h" /FD /GZ /c
  # ADD BASE RSC /l 0x409 /d "_DEBUG"
  # ADD RSC /l 0x409 /d "_DEBUG"
--- 44,48 ----
  # PROP Target_Dir ""
  # ADD BASE CPP /nologo /MTd /W3 /Gm /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /Yu"stdafx.h" /FD /GZ /c
! # ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "../Common" /I "../Include/stlport" /I "../Include" /I "../Interfaces" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /FR /Yu"stdafx.h" /FD /GZ /c
  # ADD BASE RSC /l 0x409 /d "_DEBUG"
  # ADD RSC /l 0x409 /d "_DEBUG"
***************
*** 83,87 ****
  # PROP Target_Dir ""
  # ADD BASE CPP /nologo /MT /W3 /O1 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "_ATL_DLL" /D "_ATL_MIN_CRT" /Yu"stdafx.h" /FD /c
! # ADD CPP /nologo /MD /W3 /GX /Zi /O1 /I "../Common" /I "../Include/STL" /I "../Include" /I "../Interfaces" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "_ATL_DLL" /Yu"stdafx.h" /FD /c
  # ADD BASE RSC /l 0x409 /d "NDEBUG"
  # ADD RSC /l 0x409 /d "NDEBUG"
--- 83,87 ----
  # PROP Target_Dir ""
  # ADD BASE CPP /nologo /MT /W3 /O1 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "_ATL_DLL" /D "_ATL_MIN_CRT" /Yu"stdafx.h" /FD /c
! # ADD CPP /nologo /MD /W3 /GX /Zi /O1 /I "../Common" /I "../Include/STLport" /I "../Include" /I "../Interfaces" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "_ATL_DLL" /Yu"stdafx.h" /FD /c
  # ADD BASE RSC /l 0x409 /d "NDEBUG"
  # ADD RSC /l 0x409 /d "NDEBUG"

Index: StdAfx.h
===================================================================
RCS file: /var/lib/gme/GMESRC/GME/Parser/StdAfx.h,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** StdAfx.h	24 Jul 2000 23:55:00 -0000	1.2
--- StdAfx.h	13 Oct 2004 15:17:55 -0000	1.3
***************
*** 22,28 ****
  #include <atlcom.h>
  
! #include <stl_config.h>
! #undef __SGI_STL_NO_ARROW_OPERATOR
! #define __SGI_STL_INTERNAL_RELOPS
  
  #define ASSERT ATLASSERT
--- 22,26 ----
  #include <atlcom.h>
  
! #include <stl_user_config.h>
  
  #define ASSERT ATLASSERT

Index: Transcoder.cpp
===================================================================
RCS file: /var/lib/gme/GMESRC/GME/Parser/Transcoder.cpp,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** Transcoder.cpp	11 Jun 2004 14:54:22 -0000	1.1
--- Transcoder.cpp	13 Oct 2004 15:17:55 -0000	1.2
***************
*** 60,64 ****
  	ASSERT( !is_open() );
  
! 	open( f, ios::out | ios::trunc);
  	if( fail() || !is_open() )
  		HR_THROW(E_INVALID_FILENAME);
--- 60,64 ----
  	ASSERT( !is_open() );
  
! 	open( f, std::ios::out | std::ios::trunc);
  	if( fail() || !is_open() )
  		HR_THROW(E_INVALID_FILENAME);
***************
*** 121,125 ****
  
  Transcoder& 
! Transcoder::operator <<( const string& toWrite)
  {
  	operator<<( toWrite.c_str());
--- 121,125 ----
  
  Transcoder& 
! Transcoder::operator <<( const std::string& toWrite)
  {
  	operator<<( toWrite.c_str());
***************
*** 135,138 ****
                                    XMLFormatter* const formatter)
  {
! 	write( toWrite, count);
  }
--- 135,138 ----
                                    XMLFormatter* const formatter)
  {
! 	write( (const char * const)toWrite, count);//zolmol! cast from const unsigned char * const
  }

Index: Transcoder.h
===================================================================
RCS file: /var/lib/gme/GMESRC/GME/Parser/Transcoder.h,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** Transcoder.h	11 Jun 2004 14:54:22 -0000	1.1
--- Transcoder.h	13 Oct 2004 15:17:55 -0000	1.2
***************
*** 2,6 ****
  #define XML_TRANS_H
  
! #include <fstream.h>
  #include    <xercesc/sax/HandlerBase.hpp>
  #include    <xercesc/framework/XMLFormatter.hpp>
--- 2,6 ----
  #define XML_TRANS_H
  
! #include <fstream> // fstream.h
  #include    <xercesc/sax/HandlerBase.hpp>
  #include    <xercesc/framework/XMLFormatter.hpp>
***************
*** 8,12 ****
  XERCES_CPP_NAMESPACE_USE
  
! class Transcoder : private XMLFormatTarget, private ofstream
  {
  public:
--- 8,12 ----
  XERCES_CPP_NAMESPACE_USE
  
! class Transcoder : private XMLFormatTarget, private std::ofstream
  {
  public:
***************
*** 40,44 ****
  	Transcoder& operator << ( const char * const toWrite);
  	Transcoder& operator << ( const char toWrite);
! 	Transcoder& operator << ( const string& toWrite);
  
  private :
--- 40,44 ----
  	Transcoder& operator << ( const char * const toWrite);
  	Transcoder& operator << ( const char toWrite);
! 	Transcoder& operator << ( const std::string& toWrite);
  
  private :



More information about the GME-commit mailing list