
Jeff Flinn wrote:
Another data point. I've separated binary/text/xml serialization into three .cpp files so that each of the three compilation units only deals with a single archive type.
No doubt that works around the issue but it doesn't make ME feel much better. The problem of "confused" template parameters was a big one with VC 6.0 . I had hoped all those issues had been resolved with VC 7.1. Now I'm not so sure. I did make a small example which included several archive types but I had no problem with it so I'm kind of stuck.
The following results:
Save Load
---- ----
Bin Pass Pass Txt Pass Pass Xml Pass Fail
Where Fail is an assertion in basic_xml_archive.ipp Line: 29.
Attached is the offending xml archive, if it will offer any insight.
This is most likely a bug of my own in generating/parsing xml archives. Again, I'm going to need a smaller test case. However, your example does illustrate the need to replace the assertions with exceptions in case the XML has been tampered with - I'll add these in. Robert Ramey